Pertimbangan produksi untuk Streaming Terstruktur
Artikel ini berisi rekomendasi untuk mengonfigurasikan beban kerja pemrosesan inkremental produksi dengan Streaming Terstruktur di Azure Databricks guna memenuhi persyaratan latensi dan biaya untuk aplikasi real time atau batch. Memahami konsep utama Streaming Terstruktur di Azure Databricks dapat membantu Anda menghindari jebakan umum saat Anda meningkatkan volume dan kecepatan data dan berpindah dari pengembangan ke produksi.
Azure Databricks telah memperkenalkan Tabel Langsung Delta untuk mengurangi kompleksitas pengelolaan infrastruktur produksi untuk beban kerja Streaming Terstruktur. Databricks merekomendasikan penggunaan Tabel Langsung Delta untuk alur Streaming Terstruktur baru; lihat Apa itu Tabel Langsung Delta?.
Catatan
Penskalaan otomatis komputasi memiliki batasan penskalaan ukuran kluster untuk beban kerja Streaming Terstruktur. Databricks merekomendasikan penggunaan Live Delta Tables dengan Penskalaan Otomatis yang Disempurnakan untuk beban kerja streaming. Lihat Mengoptimalkan pemanfaatan kluster alur Delta Live Tables dengan Penskalaan Otomatis yang Ditingkatkan.
Menggunakan notebook untuk beban kerja Streaming Terstruktur
Pengembangan interaktif dengan notebook Databricks mengharuskan Anda melampirkan buku catatan Anda ke kluster untuk menjalankan kueri secara manual. Anda dapat menjadwalkan buku catatan Databricks untuk penyebaran otomatis dan pemulihan otomatis dari kegagalan kueri menggunakan Alur Kerja.
- Pulihkan dari kegagalan kueri Streaming Terstruktur dengan alur kerja
- Memantau kueri Streaming Terstruktur di Azure Databricks
- Menggunakan kumpulan penjadwal untuk beberapa beban kerja streaming
Anda dapat memvisualisasikan kueri Streaming Terstruktur di buku catatan selama pengembangan interaktif, atau untuk pemantauan interaktif beban kerja produksi. Anda hanya boleh memvisualisasikan kueri Streaming Terstruktur dalam produksi jika manusia akan memantau output notebook secara teratur. Meskipun parameter trigger
dan checkpointLocation
bersifat opsional, untuk praktik terbaik, Databricks merekomendasikan agar Anda selalu menentukannya dalam produksi.
Mengontrol ukuran dan frekuensi batch untuk Streaming Terstruktur di Azure Databricks
Streaming Terstruktur di Azure Databricks memiliki opsi yang ditingkatkan untuk membantu mengontrol biaya dan latensi saat streaming dengan Auto Loader dan Delta Lake.
- Mengonfigurasi ukuran batch Streaming Terstruktur di Azure Databricks
- Mengonfigurasi interval pemicu Streaming Terstruktur
Apa itu streaming stateful?
Kueri Streaming Terstruktur stateful memerlukan pembaruan bertahap untuk informasi status menengah, sedangkan kueri Streaming Terstruktur stateless hanya melacak informasi tentang baris mana yang telah diproses dari sumber ke sink.
Operasi stateful mencakup agregasi streaming, streaming dropDuplicates
, gabungan stream-stream, mapGroupsWithState
, dan flatMapGroupsWithState
.
Informasi status menengah yang diperlukan untuk kueri Streaming Terstruktur stateful dapat menyebabkan latensi dan masalah produksi yang tidak terduga jika tidak dikonfigurasi dengan benar.
Di Databricks Runtime 13.3 LTS ke atas, Anda dapat mengaktifkan titik pemeriksaan changelog dengan RocksDB untuk menurunkan durasi titik pemeriksaan dan latensi end-to-end untuk beban kerja Streaming Terstruktur. Databrick merekomendasikan untuk mengaktifkan titik pemeriksaan changelog untuk semua kueri stateful Streaming Terstruktur. Lihat Mengaktifkan titik pemeriksaan changelog.