Bagikan melalui


Mengonfigurasi ukuran batch Streaming Terstruktur di Azure Databricks

Membatasi laju input untuk kueri Streaming Terstruktur 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.

Batasi laju input dengan maxFilesPerTrigger

Pengaturan 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 "maks lunak" untuk jumlah data yang diproses di setiap mikro-batch. 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 microbatch hingga 10 GB data dan Anda memiliki file masing-masing 3 GB, Azure Databricks memproses 12 GB dalam mikrobatch.

Mengatur beberapa laju input bersama-sama

Jika Anda menggunakan maxBytesPerTrigger bersama dengan maxFilesPerTrigger, mikro-batch memproses data hingga mencapai batas bawah baik 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 Mengonfigurasi sumber data streaming.