在三角洲住表使用自動加載程序
您可以使用自動加載程序在你的三角洲生活表管道。三角洲住在Apache火花結構化流表擴展功能,允許您編寫幾行Python或SQL聲明式部署生產數據管道:
你不需要提供一個模式或檢查站位置因為三角洲生活表自動管理這些設置您的管道。看到數據加載與達美住表。
自動加載程序DLT的語法
δ生活表提供了略微修改Python語法自動加載程序並添加SQL支持自動加載程序。
下麵的例子使用自動加載程序來創建數據集從CSV和JSON文件:
@dlt。表defbeplay体育app下载地址():返回(火花。readStream。格式(“cloudFiles”)。選項(“cloudFiles.format”,“csv”)。負載(“/ databricks-datasets / retail-obeplay体育app下载地址rg /客戶/”))@dlt。表defsales_orders_raw():返回(火花。readStream。格式(“cloudFiles”)。選項(“cloudFiles.format”,“json”)。負載(“/ databricks-datasets / retail-org sales_orders /”))
創建或刷新流媒體表beplay体育app下载地址作為選擇*從cloud_files(“/ databricks-datasets / retail-obeplay体育app下载地址rg /客戶/”,“csv”)創建或刷新流媒體表sales_orders_raw作為選擇*從cloud_files(“/ databricks-datasets / retail-org sales_orders /”,“json”)
您可以使用支持格式選項自動加載程序。使用map ()
功能,你可以通過選項cloud_files ()
方法。選項是鍵值對,其中鍵和值都是字符串。下麵描述了使用自動加載程序在SQL的語法:
創建或刷新流媒體表<表- - - - - -的名字>作為選擇*從cloud_files(“<文件路徑>”,“<文件格式>”,地圖(“< option鍵>”,“< option_value”,“< option鍵>”,“< option_value”,…))
下麵的例子從CSV文件頭一樣讀取數據:
創建或刷新流媒體表beplay体育app下载地址作為選擇*從cloud_files(“/ databricks-datasets / retail-obeplay体育app下载地址rg /客戶/”,“csv”,地圖(“分隔符”,“t \”,“頭”,“真正的”))
您可以使用模式
手工指定格式;你必須指定模式
不支持的格式模式推理:
@dlt。表defwiki_raw():返回(火花。readStream。格式(“cloudFiles”)。模式(“標題字符串id INT, INT revisionId revisionTimestamp時間戳,revisionUsername字符串,revisionUsernameId INT,文本字符串”)。選項(“cloudFiles.format”,“鋪”)。負載(“/ databricks-datasets / wikipedia-datasets /數據- 001 / en_wikipedia / articles-only-parquet”))
創建或刷新流媒體表wiki_raw作為選擇*從cloud_files(“/ databricks-datasets / wikipedia-datasets /數據- 001 / en_wikipedia / articles-only-parquet”,“鋪”,地圖(“模式”,“標題字符串id INT, INT revisionId revisionTimestamp時間戳,revisionUsername字符串,revisionUsernameId INT,文本字符串”))
請注意
三角洲生活表時自動配置和管理模式和檢查點目錄使用自動加載器讀取文件。然而,如果你手動配置這些目錄,執行一個完整的更新不會影響配置的目錄的內容。磚建議使用自動配置目錄,以避免在處理意想不到的副作用。