如何在Data Lake Analytics中使用臨時表
前言
Data Lake Analytics (後文簡稱DLA)是阿里雲重磅推出的一款用於大數據分析的產品,可以對存儲在OSS,OTS上的數據進行查詢分析。相較於傳統的數據分析產品,用戶無需將數據重新加載至DLA,只需在DLA中創建一張與數據源關聯的表,不僅簡化了分析過程,還節約了存儲成本,是做大數據分析的不二之選。
當用戶想通過DLA對OSS上的某個文件或者目錄進行查詢時,第一步需要先針對該文件或目錄在DLA中創建一個table。當查詢結束後,如果該table將不再使用,需要用戶手動執行drop命令進行清理。
在實際應用的某些場景中,有些table只在查詢中使用一次即可,但每次使用都要手動建表刪表。這時,用戶可以選擇使用DLA的臨時表。該表的生命週期僅限於一條查詢語句,當查詢結束後,臨時表將被自動刪除。
本文將以OSS數據源爲例,重點介紹如何在查詢語句中定義和使用臨時表。
臨時表
在DLA中,用戶可以在查詢SQL中嵌入建表語句(即,對臨時表的定義),從而對嵌入的臨時表進行查詢。
示例1:查詢中只包含一個臨時表,且建表語句相對簡單。
示例2:查詢中只含有一個臨時表,建表語句中需要指定ROW FORMAT以及TBLPROPERITES。
示例3:建表語句中含有多個臨時表
適用場景
當OSS的目錄下有數量較多的數據文件,這些文件的目錄結構如下:
- 目錄mytable下的所有文件有着相同的數據結構,即表結構相同
- 每次SQL查詢只針對一個文件,即dataN.csv
此時,用戶可以考慮使用臨時表進行查詢,每次只需替換SQL中臨時表的LOCATION路徑值即可。
注意事項
- 在一條查詢語句中的多個臨時表,其表名不能相同,需要在該查詢語句中具有唯一性;
- 在執行查詢前,需要先選定一個database,可以執行 use ;
- 臨時表的路徑需要是當前database所指目錄下的子目錄或者文件。
更多文章
- Data Lake Analytics + OSS數據文件格式處理大全:https://yq.aliyun.com/articles/623246
- Data Lake Analytics中OSS LOCATION的使用說明:https://yq.aliyun.com/articles/623247
- 如何使用Data Lake Analytics創建分區表:https://yq.aliyun.com/articles/624151
- 基於Data Lake Analytics來分析OTS上的數據:https://yq.aliyun.com/articles/618501
- 使用Data Lake Analytics從OSS清洗數據到AnalyticDB:https://yq.aliyun.com/articles/623401
- 使用Data Lake Analytics讀/寫RDS數據:https://yq.aliyun.com/articles/629046
-----------------------------------
本文作者:金絡
原文鏈接:https://yq.aliyun.com/articles/643416
本文爲雲棲社區原創內容,未經允許不得轉載。