Dipicu vs. mode alur berkelanjutan
Artikel ini menjelaskan semantik operasional mode alur yang dipicu dan berkelanjutan untuk DLT.
Mode alur tidak bergantung pada jenis tabel yang sedang dihitung. Tampilan termaterialisasi dan tabel streaming dapat diperbarui dalam salah satu mode pipeline.
Untuk mengubah antara mode yang dipicu dan berkelanjutan, gunakan opsi mode Alur di pengaturan alur saat membuat atau mengedit alur. Lihat Konfigurasi alur DLT.
Nota
Operasi refresh untuk tampilan materialisasi dan tabel streaming yang ditentukan dalam Databricks SQL selalu berjalan menggunakan mode alur yang dipicu.
Apa itu mode alur yang dipicu?
Jika alur menggunakan dipicu mode, sistem berhenti memproses setelah berhasil me-refresh semua tabel atau tabel yang dipilih, memastikan setiap tabel dalam pembaruan di-refresh berdasarkan data yang tersedia saat pembaruan dimulai.
Apa itu mode alur berkelanjutan?
Jika alur menggunakan eksekusi secara terus-menerus, DLT memproses data baru saat tiba di sumber data untuk memastikan tabel selalu diperbarui di seluruh alur.
Untuk menghindari pemrosesan yang tidak perlu dalam mode eksekusi berkelanjutan, alur secara otomatis memantau tabel Delta dependen dan melakukan pembaruan hanya ketika konten tabel dependen tersebut telah berubah.
Memilih mode alur data
Tabel berikut menyoroti perbedaan antara mode alur yang dipicu dan berkelanjutan:
Pertanyaan utama | Dipicu | Terus-menerus |
---|---|---|
Kapan pembaruan berhenti? | Secara otomatis setelah selesai. | Berjalan terus menerus hingga dihentikan secara manual. |
Data apa yang diproses? | Data tersedia saat pembaruan dimulai. | Semua data saat tiba di sumber yang dikonfigurasi. |
Persyaratan kesegaran data apa yang paling cocok untuk ini? | Pembaruan data berjalan setiap 10 menit, per jam, atau harian. | Pembaruan data diinginkan antara setiap 10 detik dan beberapa menit. |
Alur yang dipicu dapat mengurangi konsumsi sumber daya dan biaya karena kluster hanya beroperasi selama diperlukan untuk memperbarui pipeline. Namun, data baru tidak akan diproses sampai jalur pemrosesan dipicu. Alur berkelanjutan memerlukan kluster yang selalu berjalan, yang lebih mahal tetapi mengurangi latensi pemrosesan.
Mengatur interval pemicu untuk alur berkelanjutan
Saat mengonfigurasi alur untuk mode berkelanjutan, Anda dapat mengatur interval pemicu untuk mengontrol seberapa sering alur memulai pembaruan untuk setiap alur.
Anda dapat menggunakan pipelines.trigger.interval
untuk mengontrol interval pemicu pada aliran yang memperbarui tabel atau seluruh aliran. Karena alur yang dipicu memproses setiap tabel sekali, pipelines.trigger.interval
hanya digunakan dengan alur berkelanjutan.
Databricks merekomendasikan pengaturan pipelines.trigger.interval
pada tabel individual karena kueri streaming dan batch memiliki default yang berbeda. Atur nilai pada alur hanya saat pemrosesan memerlukan pembaruan kontrol untuk seluruh grafik alur.
Anda mengatur pipelines.trigger.interval
pada tabel menggunakan spark_conf
di Python atau SET
di SQL:
@dlt.table(
spark_conf={"pipelines.trigger.interval" : "10 seconds"}
)
def <function-name>():
return (<query>)
SET pipelines.trigger.interval=10 seconds;
CREATE OR REFRESH MATERIALIZED VIEW TABLE_NAME
AS SELECT ...
Untuk mengatur pipelines.trigger.interval
pada alur, tambahkan ke objek configuration
di pengaturan alur:
{
"configuration": {
"pipelines.trigger.interval": "10 seconds"
}
}