Konsep Streaming Terstruktur

Apache Spark Structured Streaming memungkinkan Anda membangun aplikasi streaming dan pipeline dengan API Spark yang sama seperti yang Anda gunakan untuk pemrosesan batch. Azure Databricks mendukung dua mode pemrosesan:

  • Mode waktu nyata (RTM): Dirancang untuk beban kerja operasional dengan latensi di bawah satu detik, seperti deteksi penipuan dan personalisasi waktu nyata. RTM memproses catatan saat tiba, dengan latensi end-to-end serendah lima milidetik. Lihat konsep mode waktu nyata.
  • Mode mikro-batch: Dirancang untuk pipeline analitik dan beban kerja ekstrak, transformasi, dan pemuatan (ETL). Mode mikro-batch memproses aliran dalam batch kecil, menyeimbangkan biaya komputasi dengan persyaratan latensi yang diukur dalam detik atau menit. Pemrosesan micro-batch adalah mode default.

Kedua mode menggunakan API Streaming Terstruktur yang sama. Untuk query yang didukung oleh kedua mode, Anda dapat beralih mode melalui konfigurasi trigger dan compute. Lihat Menyiapkan mode real time.

Structured Streaming juga mendukung streaming di pipeline Lakeflow, yang dibangun di atas Apache Sparkā„¢ Declarative Pipelines. Pipeline mengelola orkestrasi, checkpoint, dan pemulihan, serta Anda mendefinisikan transformasi dalam SQL atau Python.

Untuk tutorial langkah demi langkah, lihat Menjalankan beban kerja Streaming Terstruktur pertama Anda.

Membaca dari aliran data

Gunakan Streaming Terstruktur untuk menyerap data secara bertahap dari sumber data yang didukung.

Feature Deskripsi
Pemuat Otomatis Memproses file data baru secara bertahap dan efisien saat tiba di penyimpanan cloud.
Pembacaan dan penulisan streaming tabel Delta Lake Gunakan tabel Delta Lake sebagai sumber streaming dan sink dengan jaminan pemrosesan sekali persis.
API SQL dan Spark Hubungkan ke bus pesan, antrean, dan aplikasi perusahaan menggunakan API SQL dan Spark.
Ukuran mikro-batch Batasi laju input untuk mempertahankan ukuran batch yang konsisten dan mencegah penundaan pemrosesan.

Menulis ke tempat penampungan data

Konfigurasikan cara Streaming Terstruktur mengirimkan data ke sistem target.

Feature Deskripsi
Pos pemeriksaan Simpan status pemrosesan untuk mengaktifkan toleransi kesalahan dan semantik pengiriman tepat sekali.
Mode keluaran Pilih antara menambahkan, memperbarui, dan menyelesaikan mode untuk kueri streaming stateful.
Interval waktu pemicu Atur interval pemicu untuk menyeimbangkan latensi dan biaya untuk persyaratan pemrosesan Anda.
Mode waktu-nyata dalam streaming terstruktur Memproses data untuk beban kerja real time dengan latensi end-to-end serendah lima milidetik.

Pemrosesan stateful dan stateless

Kueri stateless mengolah baris data tanpa mempertahankan status. Kueri berstatus menyimpan keadaan sementara untuk agregasi, penggabungan, dan deduplikasi.

Feature Deskripsi
Kueri stateless streaming Optimalkan kueri yang memproses data tanpa mempertahankan status menengah.
Watermark Mengontrol berapa lama Streaming Terstruktur menunggu data yang terlambat tiba dalam operasi stateful.
streaming stateful Mengelola agregasi, penggabungan aliran, dan deduplikasi menggunakan operator stateful.

Pemantauan dan pengelolaan

Melacak performa kueri, menerapkan pengoptimalan, dan mengatur akses data untuk beban kerja Streaming Terstruktur produksi.

Feature Deskripsi
Memantau dengan StreamingQueryListener Lacak kemajuan kueri dan metrik performa menggunakan Spark UI dan LISTENER API.
Tutorial: Pantau kueri dengan StreamingQueryListener Lampirkan listener dan catat metrik kemajuan kueri ke tabel Unity Catalog.
Mengatur dengan Katalog Unity Konfigurasikan Unity Catalog untuk beban kerja streaming dengan tata kelola dan kontrol akses.