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.
Berlaku untuk:
Databricks SQL
Databricks Runtime
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.
Untuk mempelajari tentang inkrementalisasi, lihat Refresh inkremental untuk tampilan materialisasi. Anda dapat memeriksa apakah kueri SQL inkrementalizable dengan EXPLAIN CREATE MATERIALIZED VIEW pernyataan tersebut. 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 dimungkinkan untuk ditahapkan, pembuatan 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 dimungkinkan untuk ditahapkan, pembuatan 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. Contohnya:
-
OPERATOR_NOT_SUPPORTED: Operator, seperti gabungan kompleks, mencegah inkrementalisasi. -
EXPRESSION_NOT_DETERMINSTIC: Fungsi non-deterministik, sepertiRAND, digunakan dalam kueri.
Untuk memahami apa yang membuat kueri tidak dapat diubah, lihat Refresh inkremental untuk tampilan materialisasi.
Untuk memeriksa apakah kueri SQL dapat diperbaiki, gunakan pernyataan .EXPLAINCREATE MATERIALIZED VIEW Lihat EXPLAIN CREATE MATERIALIZED VIEW.
Examples
-- Create a materialized view with an incremental policy
CREATE MATERIALIZED VIEW IF NOT EXISTS my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;