前言

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的目錄下有數量較多的數據文件,這些文件的目錄結構如下:

  1. 目錄mytable下的所有文件有着相同的數據結構,即表結構相同
  2. 每次SQL查詢只針對一個文件,即dataN.csv

此時,用戶可以考慮使用臨時表進行查詢,每次只需替換SQL中臨時表的LOCATION路徑值即可。

注意事項

  1. 在一條查詢語句中的多個臨時表,其表名不能相同,需要在該查詢語句中具有唯一性;
  2. 在執行查詢前,需要先選定一個database,可以執行 use ;
  3. 臨時表的路徑需要是當前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

本文爲雲棲社區原創內容,未經允許不得轉載。

聲明:該文觀點僅代表作者本人,搜狐號系信息發佈平臺,搜狐僅提供信息存儲空間服務。
相關文章