什麼是自動載入器?

當新資料檔案到達雲雲端儲存體時,自動載入器會以增量方式有效率地處理新資料檔案,無需任何額外設定。

自動載入器如何運作?

自動載入器會在抵達雲端記憶體時,以累加且有效率的方式處理新的數據檔。 自動載入器可以從 AWS S3 (s3://)、Azure Data Lake 儲存體 Gen2 (ADLS Gen2、 abfss://)、Google Cloud 儲存體 (GCS、 gs://)、Azure Blob 儲存體wasbs:// ()、ADLS Gen1adl:// () 和 Databricks 檔案系統 (DBFS) dbfs:/載入數據檔。 自動載入器可以擷JSON取 、CSVXMLPARQUET、、AVROORCTEXTBINARYFILE 檔案格式。

注意

自動載入器提供稱為 cloudFiles的結構化串流來源。 在雲端檔案記憶體上指定輸入目錄路徑, cloudFiles 來源會在新檔案送達時自動處理新檔案,並可選擇同時處理該目錄中的現有檔案。 自動載入器同時支援 Delta 實時資料表中的 Python 和 SQL。

您可以使用自動載入器來處理數十億個檔案,以移轉或回填數據表。 自動載入器調整以支援每小時近即時擷取數百萬個檔案。

自動載入器如何追蹤擷取進度?

探索到檔案時,其元數據會保存在自動載入器管線檢查點位置的可調整索引鍵/值存放區 (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 來取得記憶體中存在的檔案清單。 此外,自動載入器的檔案通知模式可藉由完全避免目錄清單,協助進一步降低雲端成本。 自動載入器可以在記憶體上自動設定檔案通知服務,讓檔案探索更便宜。