數據攝取到三角洲生活表
您可以使用以下外部數據源創建數據集:
任何數據源磚運行時的直接支持。
任何文件在Azure等雲存儲數據存儲Gen2湖(ADLS Gen2), AWS S3,或穀歌雲存儲(GCS)。
任何文件存儲在DBFS。
磚推薦使用自動加載程序管道,從支持讀取數據文件格式,尤其是流媒體直播表操作連續到達的數據。自動加載器是可伸縮的、高效和支持模式推理。
Python內置數據集可以使用Apache火花文件數據來源讀取數據的批處理操作從文件格式不支持自動加載程序。
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的語法:
創建或刷新流媒體生活表<table_name>作為選擇*從cloud_files(“< file_path >”,“< file_format >”,地圖(“< option_key >”,“< option_value”,“< option_key >”,“< 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,文本字符串”))
請注意
三角洲生活表時自動配置和管理模式和檢查點目錄使用自動加載器讀取文件。然而,如果你手動配置這些目錄,執行一個完整的更新不會影響配置的目錄的內容。磚建議使用自動配置目錄,以避免在處理意想不到的副作用。
Apache火花文件來源
讀文件的批處理操作在定義數據集在Python中,您可以使用標準PySpark功能。下麵的例子使用PySpark讀取拚花的數據文件spark.read.format(“鋪”).load ()
功能:
@dlt。表deflendingclub_raw_data():返回(火花。讀。格式(“鋪”)。負載(“/ databricks-datasets /樣本/ lending_club /拚花/”))
火花SQL文件來源
讀文件的批處理操作使用SQL定義數據集時,您可以使用火花SQL語法。下麵的例子從文件讀取鋪數據:
創建或刷新生活表beplay体育app下载地址作為選擇*從拚花。' /磚- - - - - -數據集/樣品/lending_club/拚花/ '