共用方式為


什麼是自動載入器?

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

自動載入器如何運作?

自動載入器可在新資料檔案抵達雲端儲存時,逐步有效地進行處理。 它提供名為 cloudFiles的結構化串流來源。 在雲端檔案記憶體上指定輸入目錄路徑, cloudFiles 來源會在新檔案送達時自動處理新檔案,並可選擇同時處理該目錄中的現有檔案。 自動載入器在 Delta Live Tables中同時支援 Python 和 SQL。

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

支援的自動載入器來源

自動載入器可以從下列來源載入資料檔:

自動載入器可以擷JSON取 、CSVXMLPARQUET、、AVROORCTEXTBINARYFILE 檔案格式。

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

探索到檔案時,其元數據會保存在自動載入器管線檢查點位置的可調整索引鍵/值存放區 (RocksDB) 中。 此索引鍵/值存放區可確保數據剛好處理一次。

如果失敗,自動載入器可以從 where 從儲存在檢查點位置的信息繼續執行,並在將數據寫入 Delta Lake 時繼續提供完全相同的保證。 您不需要自行維護或管理任何狀態,即可達成容錯或完全一次的語意。

使用 Auto Loader 與 Delta Live 進行增量資料擷取 Tables

Databricks 建議 Delta Live Tables 中的自動載入器進行累加式數據擷取。 Delta Live Tables 在 Apache Spark 結構化串流中延伸功能,讓您能夠撰寫幾行宣告式的 Python 或 SQL 程式碼,以便用下列專案部署符合生產標準的數據管線:

  • 自動調整計算基礎結構以節省成本
  • 具有預期的數據質量檢查
  • 自動化 schema 演變 處理
  • 透過事件記錄檔中的 計量進行監視

您不需要提供 schema 或檢查點位置,因為 Delta Live Tables 會自動管理管線的這些設定。 請參閱 使用 Delta Live 載入資料 Tables

每當您使用 Apache Spark 結構化串流從雲端物件記憶體擷取數據時,Databricks 也會建議自動載入器。 API 可在 Python 和 Scala 中使用。

Get 開始使用 Databricks 自動載入器

請參閱下列文章,以 get 開始使用自動載入器搭配 Delta Live Tables設定累加式資料擷取:

範例:常見的自動載入器模式

如需常見自動載入器模式的範例,請參閱 常見的數據載入模式

設定自動載入器選項

您可以根據數據量、多樣性和速度調整自動載入器。

如需自動載入器選項的完整 list,請參閱:

如果您遇到非預期的效能,請參閱 常見問題

設定自動載入器檔案偵測模式

自動載入器支援兩種 檔案偵測模式。 請參閱:

自動載入器在檔案上直接使用結構化串流的優點

在 Apache Spark 中,您可以使用 累加 spark.readStream.format(fileFormat).load(directory)讀取檔案。 自動載入器提供下列檔案來源的優點:

  • 延展性:自動載入器可以有效率地探索數十億個檔案。 您可以異步執行回填,以避免浪費任何計算資源。
  • 效能:使用自動載入器來探索檔案的成本會隨著所擷取的檔案數目,而不是檔案可能落入的目錄數目。 請參閱 什麼是自動載入器目錄清單模式?
  • Schema 推斷和演進支援:自動載入器可以偵測 schema 漂移、在發生 schema 變更時通知您,以及救援本來會被忽略或遺失的數據。 請參閱 自動載入器 schema 推斷如何運作?
  • 成本:Auto Loader 使用原生雲端 API 來 get 儲存空間中存在的檔案清單。 此外,自動載入器的檔案通知模式可藉由完全避免目錄清單,協助進一步降低雲端成本。 自動載入器可以自動 set 記憶體上的檔案通知服務,讓檔案探索更便宜。