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.
Artikel ini menjelaskan cara menggunakan kontrol penerimaan untuk mempertahankan ukuran batch yang konsisten untuk kueri streaming.
Kontrol penerimaan membatasi laju input untuk kueri Streaming Terstruktur, yang dapat membantu mempertahankan ukuran batch yang konsisten dan mencegah batch besar menyebabkan tumpahan dan penundaan pemrosesan batch mikro berjenjang.
Azure Databricks menyediakan opsi yang sama untuk mengontrol ukuran batch Streaming Terstruktur untuk Delta Lake dan Auto Loader.
Nota
Anda dapat mengubah pengaturan kontrol penerimaan tanpa mengatur ulang titik pemeriksaan untuk kueri streaming. Lihat Memulihkan setelah perubahan dalam kueri Streaming Terstruktur.
Mengubah pengaturan kontrol penerimaan untuk meningkatkan atau mengurangi ukuran batch memiliki implikasi performa. Untuk mengoptimalkan beban kerja, Anda mungkin perlu menyesuaikan konfigurasi komputasi Anda.
Batasi laju input dengan maxFilesPerTrigger
Mengatur maxFilesPerTrigger (atau cloudFiles.maxFilesPerTrigger untuk Auto Loader) menentukan batas atas untuk jumlah file yang diproses di setiap mikro-batch. Untuk Delta Lake dan Auto Loader, defaultnya adalah 1000. (Perhatikan bahwa opsi ini juga ada di Apache Spark untuk sumber file lain, di mana tidak ada maks secara default.)
Batasi laju input dengan maxBytesPerTrigger
Pengaturan maxBytesPerTrigger (atau cloudFiles.maxBytesPerTrigger untuk Auto Loader) menetapkan "batas maksimum lunak" untuk jumlah data yang diproses di setiap batch mikro. Ini berarti bahwa batch memproses kira-kira jumlah data ini dan dapat memproses lebih dari batas untuk membuat kueri streaming bergerak maju dalam kasus ketika unit input terkecil lebih besar dari batas ini. Tidak ada default untuk pengaturan ini.
Misalnya, jika Anda menentukan string byte seperti 10g untuk membatasi setiap mikrobatch hingga 10 GB data dan Anda memiliki file masing-masing 3 GB, Azure Databricks memproses 12 GB dalam mikrobatch.
Mengatur beberapa tingkat input secara bersamaan
Jika Anda menggunakan maxBytesPerTrigger bersama dengan maxFilesPerTrigger, mikro-batch memproses data hingga mencapai batas terendah dari maxFilesPerTrigger atau maxBytesPerTrigger.
Membatasi laju input untuk sumber Streaming Terstruktur lainnya
Sumber streaming seperti Apache Kafka masing-masing memiliki batas input kustom, seperti maxOffsetsPerTrigger. Untuk detail selengkapnya, lihat Konektor standar di Lakeflow Connect.