Operasi refresh untuk tampilan materialisasi
Penting
Tampilan materialisasi di Databricks SQL ada di Pratinjau Umum.
Tampilan materialisasi adalah objek database yang berisi hasil kueri SQL terhadap satu atau beberapa tabel dasar. Beberapa tampilan materialisasi dapat disegarkan secara bertahap, secara otomatis dan bertahap menyebarkan perubahan dari tabel dasar.
Artikel ini menjelaskan jenis operasi refresh yang dapat Anda terapkan untuk tampilan materialisasi, dan mengidentifikasi operasi, kata kunci, dan klausa SQL yang mendukung refresh bertahap.
Catatan
Untuk membuat dan menggunakan tampilan materialisasi, ruang kerja Anda harus memenuhi persyaratan.
Jenis refresh
Operasi refresh adalah salah satu jenis berikut:
- Refresh inkremental: Refresh inkremental memproses perubahan dalam data yang mendasar setelah refresh terakhir lalu menambahkan data tersebut ke tabel. Bergantung pada tabel dasar dan operasi yang disertakan, hanya jenis tampilan materialisasi tertentu yang dapat disegarkan secara bertahap.
- Refresh penuh: Refresh penuh memotong tabel dan memproses ulang semua data yang tersedia di sumber dengan definisi terbaru. Tidak disarankan untuk melakukan refresh penuh pada sumber yang tidak menyimpan seluruh riwayat data atau memiliki periode retensi singkat, seperti Kafka, karena refresh penuh memotong data yang ada. Anda mungkin tidak dapat memulihkan data lama jika data tidak lagi tersedia di sumbernya.
Saat tampilan materialisasi dibuat menggunakan gudang SQL atau alur Tabel Langsung Delta tanpa server, tampilan tersebut secara otomatis disegarkan secara bertahap jika kuerinya didukung. Jika kueri menyertakan ekspresi yang tidak didukung untuk refresh inkremental, refresh penuh akan dilakukan, berpotensi menghasilkan biaya tambahan. Untuk menentukan jenis refresh mana yang digunakan, lihat Menentukan apakah refresh inkremental atau penuh digunakan.
Dukungan untuk refresh inkremental tampilan materialisasi
Tabel berikut ini mencantumkan dukungan untuk refresh bertahas menurut kata kunci atau klausa SQL. Kata kunci dan klausa yang ditandai dengan bintang (*) mengharuskan pelacakan baris diaktifkan untuk refresh bertahap. Lihat Menggunakan pelacakan baris untuk tabel Delta.
Kata kunci atau klausa SQL | Dukungan untuk refresh inkremental |
---|---|
SELECT Ekspresi* |
Ya, ekspresi termasuk fungsi bawaan deterministik dan fungsi yang ditentukan pengguna (UDF) yang tidak dapat diubah didukung. |
GROUP BY |
Ya |
WITH |
Ya, ekspresi tabel umum didukung. |
UNION ALL * |
Ya |
FROM |
Tabel dasar yang didukung mencakup tabel Delta, tampilan materialisasi, dan tabel streaming. |
WHERE , HAVING * |
Klausa filter seperti WHERE dan HAVING didukung. |
INNER JOIN * |
Ya |
LEFT OUTER JOIN |
Ya |
FULL OUTER JOIN |
Ya |
RIGHT OUTER JOIN |
Ya |
OVER |
Ya. PARTITION_BY kolom harus ditentukan untuk inkrementalisasi pada fungsi jendela. |
QUALIFY |
Ya |
EXPECTATIONS |
Tidak. Tampilan materialisasi yang menggunakan ekspektasi selalu di-refresh sepenuhnya. |
Catatan
Fungsi non-deterministik, misalnya, CURRENT_TIMESTAMP
, tidak didukung.