Bagikan melalui


Apa itu Auto Loader?

Auto Loader secara bertahap dan efisien memproses file data baru saat tiba di penyimpanan cloud tanpa penyiapan tambahan apa pun.

Bagaimana cara kerja Auto Loader?

Auto Loader secara bertahap dan efisien memproses file data baru saat tiba di penyimpanan cloud. Ini menyediakan sumber Streaming Terstruktur yang disebut cloudFiles. Mengingat jalur direktori input pada penyimpanan file cloud, cloudFiles sumber secara otomatis memproses file baru saat mereka tiba, dengan opsi juga memproses file yang ada di direktori itu. Auto Loader memiliki dukungan untuk Python dan SQL di Lakeflow Declarative Pipelines.

Anda dapat menggunakan Auto Loader untuk memproses miliaran file untuk memigrasikan atau mengisi ulang tabel. Auto Loader menskalakan dirinya untuk mendukung pengambilan hampir real-time jutaan file per jam.

Sumber Auto Loader yang Didukung

Auto Loader dapat memuat file data dari sumber berikut:

  • Amazon S3 (s3://)

  • Azure Data Lake Storage (ADLS, abfss://)

  • Google Cloud Storage (GCS, gs://)

  • Azure Blob Storage (wasbs://)

    Catatan

    Driver Windows Azure Storage Blob (WASB) warisan tidak digunakan lagi. ABFS memiliki banyak keuntungan dibandingkan WASB. Lihat Dokumentasi Azure di ABFS. Untuk dokumentasi untuk bekerja dengan driver WASB versi lama, lihat Menyambungkan ke Azure Blob Storage dengan WASB (versi lama).

  • Sistem File Databricks (DBFS, dbfs:/).

Auto Loader dapat menyerap JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT, dan BINARYFILE.

Bagaimana Cara Loader Otomatis melacak kemajuan penyerapan?

Saat file ditemukan, metadatanya bertahan di penyimpanan nilai kunci yang scalable (RocksDB) di lokasi titik pemeriksaan alur Auto Loader Anda. Penyimpanan nilai kunci ini memastikan bahwa data diproses tepat sekali.

Jika terjadi kegagalan, Auto Loader dapat melanjutkan dari titik terakhir dengan menggunakan informasi yang disimpan di lokasi checkpoint dan terus memberikan jaminan sekali saja saat menulis data ke Delta Lake. Anda tidak perlu mempertahankan atau mengelola status apa pun sendiri untuk mencapai toleransi kesalahan atau semantik sekali-saja.

Penyerapan bertahap menggunakan Auto Loader dengan Alur Deklaratif Lakeflow

Databricks merekomendasikan Auto Loader di Lakeflow Declarative Pipelines untuk penyerapan data bertahap. Lakeflow Declarative Pipelines memperluas fungsionalitas dalam Apache Spark Structured Streaming dan memungkinkan Anda menulis hanya beberapa baris Python deklaratif atau SQL untuk menyebarkan alur data berkualitas produksi dengan:

  • Infrastruktur komputasi penskalaan otomatis untuk penghematan biaya
  • Pemeriksaan kualitas data dengan ekspektasi
  • Penanganan evolusi skema otomatis
  • Pemantauan melalui metrik di log peristiwa

Anda tidak perlu menyediakan skema atau lokasi titik pemeriksaan karena Alur Deklaratif Lakeflow secara otomatis mengelola pengaturan ini untuk alur Anda. Lihat Memuat data dengan Alur Deklaratif Lakeflow.

Databricks juga merekomendasikan Auto Loader setiap kali Anda menggunakan Apache Spark Structured Streaming untuk menyerap data dari penyimpanan objek cloud. API tersedia di Python dan Scala.

Mulai menggunakan Databricks Auto Loader

Lihat artikel berikut untuk mulai mengonfigurasi penyerapan data bertahap menggunakan Auto Loader dengan Alur Deklaratif Lakeflow:

Contoh: Pola Pemuat Otomatis Umum

Untuk contoh pola Pemuat Otomatis umum, lihat Pola pemuatan data umum.

Mengonfigurasi opsi Auto Loader

Anda dapat menyetel Auto Loader berdasarkan volume data, variasi, dan kecepatan.

Untuk daftar lengkap opsi Auto Loader, lihat:

Jika Anda mengalami performa yang tidak terduga, lihat FAQ.

Mengonfigurasi mode pendeteksian file Auto Loader

Auto Loader mendukung dua modus deteksi file. Lihat:

Manfaat Auto Loader daripada menggunakan Streaming Terstruktur langsung pada file

Di Apache Spark, Anda dapat membaca file secara bertahap menggunakan spark.readStream.format(fileFormat).load(directory). Auto Loader memberikan manfaat berikut melalui sumber file:

  • Skalabilitas: Auto Loader dapat menemukan miliaran file secara efisien. Pengisian ulang dapat dilakukan secara asinkron untuk menghindari pemborosan sumber daya komputasi apa pun.
  • Kinerja: Biaya menemukan file dengan Auto Loader berkorelasi dengan jumlah file yang dimuat, bukan dengan jumlah direktori di mana file-file tersebut berada. Lihat Streaming Auto Loader dengan mode daftar direktori.
  • Dukungan inferensi dan evolusi skema: Auto Loader dapat mendeteksi pergeseran skema, memberi tahu Anda ketika perubahan skema terjadi, dan menyelamatkan data yang seharusnya diabaikan atau hilang. Lihat Cara kerja inferensi skema Auto Loader.
  • Biaya: Auto Loader menggunakan API cloud asli untuk mendapatkan daftar file yang ada di penyimpanan. Selain itu, mode pemberitahuan file Auto Loader dapat membantu mengurangi biaya cloud Anda lebih lanjut dengan menghindari daftar direktori sama sekali. Auto Loader dapat secara otomatis menyiapkan layanan pemberitahuan file pada penyimpanan untuk membuat penemuan file jauh lebih murah.