什麼是自動載入器?
當新資料檔案到達雲雲端儲存體時,自動載入器會以增量方式有效率地處理新資料檔案,無需任何額外設定。
自動載入器如何運作?
自動載入器可在新資料檔案抵達雲端儲存時,逐步有效地進行處理。 它提供名為 cloudFiles
的結構化串流來源。 在雲端檔案記憶體上指定輸入目錄路徑, cloudFiles
來源會在新檔案送達時自動處理新檔案,並可選擇同時處理該目錄中的現有檔案。 自動載入器在 Delta Live Tables中同時支援 Python 和 SQL。
您可以使用自動載入器來處理數十億個檔案,以移轉或回填 table。 自動載入器調整以支援每小時近即時擷取數百萬個檔案。
支援的自動載入器來源
自動載入器可以從下列來源載入資料檔:
Amazon S3 (
s3://
)Azure Data Lake Storage Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Azure Blob 儲存體 (
wasbs://
)注意
舊版 Windows Azure 儲存體 Blob 驅動程式 (WASB) 已被取代。 ABFS 對 WASB 有許多好處。 請參閱 ABFS 上的 Azure 文件。 如需使用舊版 WASB 驅動程式的文件,請參閱使用 WASB 連線到 Azure Blob 儲存體 (舊版)。
ADLS Gen1 (
adl://
)注意
Azure 已宣布即將淘汰 Azure Data Lake Storage Gen1。 Databricks 建議將所有數據從 Azure Data Lake Storage Gen1 遷移至 Azure Data Lake Storage Gen2。 如果您尚未移轉,請參閱從 Azure Databricks 存取 Azure Data Lake Storage Gen1。
Databricks 檔案系統 (DBFS,
dbfs:/
)。
自動載入器可以擷JSON
取 、CSV
、XML
PARQUET
、、AVRO
、ORC
、 TEXT
和 BINARYFILE
檔案格式。
自動載入器如何追蹤擷取進度?
探索到檔案時,其元數據會保存在自動載入器管線檢查點位置的可調整索引鍵/值存放區 (RocksDB) 中。 此索引鍵/值存放區可確保數據剛好處理一次。
如果失敗,自動載入器可以從 where 從儲存在檢查點位置的信息繼續執行,並在將數據寫入 Delta Lake 時繼續提供完全相同的保證。 您不需要自行維護或管理任何狀態,即可達成容錯或完全一次的語意。
使用 Auto Loader 與 Delta Live 進行增量資料擷取 Tables
Databricks 建議 Delta Live Tables 中的自動載入器進行累加式數據擷取。 Delta Live Tables 在 Apache Spark 結構化串流中延伸功能,讓您能夠撰寫幾行宣告式的 Python 或 SQL 程式碼,以便用下列專案部署符合生產標準的數據管線:
您不需要提供 schema 或檢查點位置,因為 Delta Live Tables 會自動管理管線的這些設定。 請參閱 使用 Delta Live 載入資料 Tables。
每當您使用 Apache Spark 結構化串流從雲端物件記憶體擷取數據時,Databricks 也會建議自動載入器。 API 可在 Python 和 Scala 中使用。
Get 開始使用 Databricks 自動載入器
請參閱下列文章,以 get 開始使用自動載入器搭配 Delta Live Tables設定累加式資料擷取:
範例:常見的自動載入器模式
如需常見自動載入器模式的範例,請參閱 常見的數據載入模式。
設定自動載入器選項
您可以根據數據量、多樣性和速度調整自動載入器。
- 在自動載入器 中設定 schema 推斷和演進
- 設定生產工作負載的自動載入器
如需自動載入器選項的完整 list,請參閱:
如果您遇到非預期的效能,請參閱 常見問題。
設定自動載入器檔案偵測模式
自動載入器支援兩種 檔案偵測模式。 請參閱:
自動載入器在檔案上直接使用結構化串流的優點
在 Apache Spark 中,您可以使用 累加 spark.readStream.format(fileFormat).load(directory)
讀取檔案。 自動載入器提供下列檔案來源的優點:
- 延展性:自動載入器可以有效率地探索數十億個檔案。 您可以異步執行回填,以避免浪費任何計算資源。
- 效能:使用自動載入器來探索檔案的成本會隨著所擷取的檔案數目,而不是檔案可能落入的目錄數目。 請參閱 什麼是自動載入器目錄清單模式?。
- Schema 推斷和演進支援:自動載入器可以偵測 schema 漂移、在發生 schema 變更時通知您,以及救援本來會被忽略或遺失的數據。 請參閱 自動載入器 schema 推斷如何運作?。
- 成本:Auto Loader 使用原生雲端 API 來 get 儲存空間中存在的檔案清單。 此外,自動載入器的檔案通知模式可藉由完全避免目錄清單,協助進一步降低雲端成本。 自動載入器可以自動 set 記憶體上的檔案通知服務,讓檔案探索更便宜。