什麼是自動載入器?
當新資料檔案到達雲雲端儲存體時,自動載入器會以增量方式有效率地處理新資料檔案,無需任何額外設定。
自動載入器如何運作?
自動載入器可在新資料檔案抵達雲端儲存時,逐步有效地進行處理。 它提供名為 cloudFiles
的結構化串流來源。 在雲端檔案記憶體上指定輸入目錄路徑, cloudFiles
來源會在新檔案送達時自動處理新檔案,並可選擇同時處理該目錄中的現有檔案。 自動載入器同時支援 Delta 實時資料表中的 Python 和 SQL。
您可以使用自動載入器來處理數十億個檔案,以移轉或回填數據表。 自動載入器調整以支援每小時近即時擷取數百萬個檔案。
支援的自動載入器來源
自動載入器可以從下列來源載入資料檔:
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) 中。 此索引鍵/值存放區可確保數據剛好處理一次。
如果發生失敗,自動載入器可以從儲存在檢查點位置的信息繼續執行,並在將數據寫入 Delta Lake 時繼續提供完全相同的保證。 您不需要自行維護或管理任何狀態,即可達成容錯或完全一次的語意。
搭配差異實時數據表使用自動載入器累加擷取
Databricks 建議差異實時數據表中的自動載入器進行累加式數據擷取。 Delta Live Tables 擴充 Apache Spark 結構化串流中的功能,並可讓您撰寫幾行宣告式 Python 或 SQL,以使用下列專案來部署生產質量的數據管線:
您不需要提供架構或檢查點位置,因為 Delta Live Tables 會自動管理管線的這些設定。 請參閱 使用差異實時數據表載入資料。
每當您使用 Apache Spark 結構化串流從雲端物件記憶體擷取數據時,Databricks 也會建議自動載入器。 API 可在 Python 和 Scala 中使用。
開始使用 Databricks 自動載入器
請參閱下列文章,以開始使用自動載入器搭配差異即時資料表來設定累加式數據擷取:
範例:常見的自動載入器模式
如需常見自動載入器模式的範例,請參閱 常見的數據載入模式。
設定自動載入器選項
您可以根據數據量、多樣性和速度調整自動載入器。
如需自動載入器選項的完整清單,請參閱:
如果您遇到非預期的效能,請參閱 常見問題。
設定自動載入器檔案偵測模式
自動載入器支援兩種 檔案偵測模式。 請參閱:
自動載入器在檔案上直接使用結構化串流的優點
在 Apache Spark 中,您可以使用 累加 spark.readStream.format(fileFormat).load(directory)
讀取檔案。 自動載入器提供下列檔案來源的優點:
- 延展性:自動載入器可以有效率地探索數十億個檔案。 您可以異步執行回填,以避免浪費任何計算資源。
- 效能:使用自動載入器來探索檔案的成本會隨著所擷取的檔案數目,而不是檔案可能落入的目錄數目。 請參閱 什麼是自動載入器目錄清單模式?。
- 架構推斷和演進支援:自動載入器可以偵測架構漂移、在架構變更發生時通知您,以及拯救本來會被忽略或遺失的數據。 請參閱 自動載入器架構推斷如何運作?。
- 成本:自動載入器會使用原生雲端 API 來取得記憶體中存在的檔案清單。 此外,自動載入器的檔案通知模式可藉由完全避免目錄清單,協助進一步降低雲端成本。 自動載入器可以在記憶體上自動設定檔案通知服務,讓檔案探索更便宜。