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 Delta Live Tables.
Anda dapat menggunakan Auto Loader untuk memproses miliaran file untuk memigrasikan atau mengisi ulang tabel. Auto Loader menskalakan untuk mendukung penyerapan 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 Gen2 (ADLS Gen2,
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 bekerja dengan driver WASB warisan, lihat Menyambungkan ke Azure Blob Storage dengan WASB (warisan).
ADLS Gen1 (
adl://
)Catatan
Azure telah mengumumkan penghentian Azure Data Lake Storage Gen1 yang tertunda. Databricks merekomendasikan migrasi semua data dari Azure Data Lake Storage Gen1 ke Azure Data Lake Storage Gen2. Jika Anda belum bermigrasi, lihat Mengakses Azure Data Lake Storage Gen1 dari Azure Databricks.
Sistem File Databricks (DBFS,
dbfs:/
).
Auto Loader dapat menyerap JSON
format file , , CSV
, AVRO
XML
PARQUET
, 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 tempat ia ditinggalkan oleh informasi yang disimpan di lokasi pos pemeriksaan dan terus memberikan jaminan sekali ketika menulis data ke Delta Lake. Anda tidak perlu mempertahankan atau mengelola keadaan apa pun sendiri untuk mencapai toleransi kegagalan atau semantik sekali.
Penyerapan inkremental menggunakan Auto Loader dengan Delta Live Tables
Databricks merekomendasikan Auto Loader di Delta Live Tables untuk penyerapan data bertahap. Tabel Langsung Delta memperluas fungsionalitas dalam Streaming Terstruktur Apache Spark 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 harapan
- Penanganan evolusi skema otomatis
- Pemantauan melalui metrik di log peristiwa
Anda tidak perlu menyediakan skema atau lokasi titik pemeriksaan karena Tabel Langsung Delta secara otomatis mengelola pengaturan ini untuk alur Anda. Lihat Memuat data dengan Tabel Langsung Delta.
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 inkremental menggunakan Auto Loader dengan Tabel Langsung Delta:
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.
- Lihat Mengonfigurasikan inferensi dan evolusi skema di Auto Loader.
- Mengonfigurasi Auto Loader untuk beban kerja produksi
Untuk daftar lengkap opsi Auto Loader, lihat:
Jika Anda mengalami performa yang tidak terduga, lihat FAQ.
Mengonfigurasi mode deteksi file Auto Loader
Auto Loader mendukung dua mode 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 skala Auto Loader dengan jumlah file yang sedang diolah alih-alih jumlah direktori tempat file dapat mendarat. Lihat Apa itu mode daftar direktori Auto Loader?.
- Inferensi skema dan dukungan evolusi: Auto Loader dapat mendeteksi drift skema, memberi tahu Anda ketika perubahan skema terjadi, dan menyelamatkan data yang akan diabaikan atau hilang. Lihat Bagaimana 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.