Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 Spark 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://)Volume Katalog Unity (
/Volumes/)Azure Blob Storage (
wasbs://)Note
Driver Blob Windows Azure Storage (WASB) lama tidak digunakan lagi. ABFS memiliki banyak keuntungan dibandingkan WASB. Lihat dokumentasi Azure mengenai ABFS. Untuk dokumentasi tentang bekerja dengan driver WASB lama, lihat Hubungkan ke Azure Blob Storage dengan WASB (warisan).
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 Spark
Databricks merekomendasikan Auto Loader di Lakeflow Spark Declarative Pipelines untuk penyerapan data bertahap. Anda tidak perlu menyediakan skema atau lokasi titik pemeriksaan karena Alur Deklaratif Lakeflow Spark secara otomatis mengelola pengaturan ini untuk alur Anda. Lihat Mengonfigurasi Auto Loader untuk beban kerja produksi untuk konfigurasi yang direkomendasikan.
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 Spark:
- Tutorial: Membangun alur ETL dengan Alur Deklaratif Lakeflow Spark
- Siapkan penyerapan bertahap dari Azure Data Lake Storage
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.
- Mengonfigurasi inferensi dan evolusi skema di Auto Loader: Mengonfigurasi bagaimana Auto Loader menyimpulkan dan mengembangkan skema data Anda dari waktu ke waktu, termasuk menangani kolom baru dan mengetik perubahan.
- Pelebaran jenis otomatis dengan Auto Loader
- Mengonfigurasi Auto Loader untuk beban kerja produksi: Optimalkan Auto Loader untuk keandalan dan performa dalam produksi, termasuk titik pemeriksaan, penanganan kesalahan, dan manajemen retensi file.
- Retensi data sumber: Mengarsipkan atau menghapus file secara otomatis setelah penyerapan untuk mengurangi biaya penyimpanan dan mempercepat penemuan file.
Untuk daftar lengkap opsi Auto Loader, lihat Opsi Auto Loader. Jika Anda mengalami performa yang tidak terduga, lihat FAQ.
Mengonfigurasi mode pendeteksian file Auto Loader
Auto Loader mendukung dua modus deteksi file. See:
- Mengonfigurasi aliran Auto Loader dalam mode daftar direktori
- Mengonfigurasi aliran Auto Loader dalam mode pemberitahuan file
Menangani data yang tidak berurutan
Auto Loader tidak menjamin urutan file ditemukan atau diproses, terlepas dari apakah Anda menggunakan daftar direktori atau mode pemberitahuan file. Gunakan strategi berikut untuk merancang pipeline Anda guna menangani kedatangan file yang tidak berurutan.
Alur Deklaratif Lakeflow Spark dengan AUTO CDC
Jika Anda menggunakan Lakeflow Spark Declarative Pipelines dengan Auto Loader dan AUTO CDC, konfigurasikan retensi batu nisan sehingga rekaman yang dihapus dipertahankan cukup lama untuk menangani kedatangan file yang tidak berurutan. Atur pipelines.cdc.tombstoneGCThresholdInSeconds properti tabel pada tabel streaming target ke nilai yang melebihi penundaan maksimum yang diharapkan antara kedatangan peristiwa dan eksekusi alur. Retensi default adalah dua hari. Untuk detailnya, lihat create_auto_cdc_flow.
Streaming Terstruktur tanpa Alur Deklaratif Lakeflow Spark
Jika Anda menggunakan Streaming Terstruktur Apache Spark langsung dengan Auto Loader (tanpa Lakeflow Spark Declarative Pipelines), pertimbangkan pola berikut untuk menangani data yang tidak berurutan:
- Lebih suka penghapusan lunak daripada penghapusan keras: Lacak
deletedpenanda dan tanda waktu alih-alih menghapus baris, agar penghapusan yang datang terlambat tidak berkonflik dengan rekaman sebelumnya. - Bandingkan tanda waktu sebelum menerapkan pembaruan: Saat memasukkan atau memperbarui data, bandingkan tanda waktu pembaruan rekaman yang masuk dengan tanda waktu pada baris target yang ada saat ini untuk menghindari penimpaan dengan data yang kedaluwarsa.
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 Mengonfigurasi aliran Auto Loader dalam 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.