Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Fitur ini ada di Beta. Admin ruang kerja dapat mengontrol akses ke fitur ini dari halaman Pratinjau . Lihat Kelola Pratinjau Azure Databricks.
Menambahkan kebijakan refresh ke tampilan materialisasi, mengontrol kapan harus menambah penyegaran. Berlaku untuk CREATE MATERIALIZED VIEW pernyataan (alur).
Untuk mempelajari tentang inkrementalisasi, lihat Refresh inkremental untuk tampilan materialisasi. Anda dapat memeriksa apakah kueri SQL bertahap dengan EXPLAIN CREATE MATERIALIZED VIEW pernyataan di Databricks SQL. Lihat EXPLAIN CREATE MATERIALIZED VIEW.
Syntax
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parameter-parameternya
refresh_policy
Menentukan kebijakan refresh untuk tampilan materialisasi. Jika dihilangkan
REFRESH POLICY,AUTOadalah kebijakan default.Kebijakan refresh menentukan bagaimana refresh menangani inkrementalisasi tampilan materialisasi.
AUTOSistem secara otomatis memilih refresh inkremental atau penuh, berdasarkan model biaya.
State Perilaku Inkremental tersedia untuk refresh. Menggunakan model biaya untuk menentukan mana yang lebih murah, inkremental atau penuh. Inkremental tidak tersedia untuk refresh. Melakukan refresh penuh. Membuat atau menginisialisasi ulang diperlukan (misalnya, pada perubahan skema) Melakukan refresh penuh. INCREMENTALSistem menggunakan refresh inkremental jika memungkinkan. Pada
CREATE, jika kueri tidak dapat dinaikkan, pernyataan buat gagal.State Perilaku Inkremental tersedia untuk refresh. Melakukan refresh inkremental. Inkremental tidak tersedia untuk refresh. Melakukan refresh penuh. Membuat atau menginisialisasi ulang diperlukan, tetapi inkrementalisasi dimungkinkan untuk kueri. Melakukan refresh penuh. Membuat atau menginisialisasi ulang diperlukan, dan inkrementalisasi tidak dimungkinkan untuk kueri. Operasi gagal. INCREMENTAL STRICTSistem menggunakan refresh inkremental. Pada
CREATE, jika kueri tidak dapat dinaikkan, pernyataan buat gagal.State Perilaku Inkremental tersedia untuk refresh. Melakukan refresh inkremental. Inkremental tidak tersedia untuk refresh. Refresh gagal. Membuat atau menginisialisasi ulang diperlukan, tetapi inkrementalisasi dimungkinkan untuk kueri. Melakukan refresh penuh. Membuat atau menginisialisasi ulang diperlukan, dan inkrementalisasi tidak dimungkinkan untuk kueri. Operasi gagal. FULLSistem selalu menggunakan refresh penuh.
State Perilaku Inkremental tersedia untuk refresh. Melakukan refresh penuh. Inkremental tidak tersedia untuk refresh. Melakukan refresh penuh. Membuat atau menginisialisasi ulang diperlukan. Melakukan refresh penuh.
Perilaku pada kegagalan
Ketika refresh gagal karena tidak dapat memenuhi kebijakan refresh (untuk REFRESH POLICY INCREMENTAL (STRICT)), sistem mengembalikan kelas MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE kesalahan dengan informasi terperinci yang menjelaskan alasan tidak dapat ditingkatkan:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYdengan ekspresi kompleks di atasnya tidak didukung. -
EXPRESSION_NOT_DETERMINSTIC: Fungsi non-deterministik, sepertiRAND, digunakan dalam kueri. -
INPUT_NOT_IN_DELTA: Satu atau beberapa himpunan data sumber bukan tabel Delta. -
OPERATOR_NOT_INCREMENTALIZABLE: Operator, seperti gabungan kompleks, mencegah inkrementalisasi. -
ROW_TRACKING_NOT_ENABLED: Tabel sumber yang memerlukan pelacakan baris tidak mengaktifkan pelacakan baris. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Satu atau beberapa subkueri dalam kueri Anda tidak dapat dinaikkan. -
UDF_NOT_DETERMINISTIC: Satu atau beberapa UDF yang digunakan dalam ekspresi tidak ditandai sebagai deterministik. -
WINDOW_WITHOUT_PARTITION_BY: Spesifikasi jendela tanpaPARTITION_BYtidak dapat disempurnakan.
Untuk memahami apa yang membuat kueri tidak dapat diubah, lihat Refresh inkremental untuk tampilan materialisasi.
Untuk memeriksa apakah kueri SQL bertahap, gunakan EXPLAIN CREATE MATERIALIZED VIEW pernyataan di Databricks SQL. Lihat EXPLAIN CREATE MATERIALIZED VIEW.
Examples
-- Create a materialized view with an incremental policy
CREATE OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;