Lakukan refresh, kelola lifecycle, atau hapus partisi dari tampilan yang di-materialisasi.
Ikhtisar perintah
Refresh tampilan yang di-materialisasi
Operasi INSERT, OVERWRITE, UPDATE, atau DELETE pada tabel atau partisi dasar akan membuat tampilan yang di-materialisasi tidak valid, sehingga mencegah query rewrite. Periksa status tampilan yang di-materialisasi dan lakukan refresh jika tidak valid. Untuk informasi selengkapnya, lihat Kueri Status Tampilan yang Di-Materialisasi.
-
Catatan Penggunaan
-
Tampilan yang di-materialisasi hanya mendukung full refresh, bukan incremental refresh.
-
Gunakan fitur penjadwalan DataWorks untuk melakukan refresh tampilan yang di-materialisasi secara terjadwal. Untuk informasi selengkapnya, lihat Konfigurasi Penjadwalan.
-
-
Sintaks
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> REBUILD [PARTITION (<ds>=max_pt(<table_name>),<expression1>...)]; -
Parameter
Parameter
Wajib
Deskripsi
project_name
Tidak
Nama Proyek MaxCompute yang berisi tampilan yang di-materialisasi. Jika Anda menghilangkan parameter ini, Proyek MaxCompute saat ini yang digunakan. Untuk menemukan nama proyek, login ke Konsol MaxCompute, pilih Wilayah yang sesuai di pojok kiri atas, lalu navigasikan ke halaman Projects.
mv_name
Ya
Nama tampilan yang di-materialisasi yang akan direfresh.
ds
Tidak
Nama kolom partisi dari tampilan yang di-materialisasi.
max_pt
Tidak
Fungsi yang mengembalikan nilai partisi maksimum dari table_name yang ditentukan. table_name dapat merujuk ke tabel atau tampilan yang di-materialisasi.
expression
Tidak
Ekspresi yang menyaring partisi yang akan direfresh dalam tampilan yang di-materialisasi berpartisi.
-
Contoh
-
Contoh 1: Refresh tampilan yang di-materialisasi non-partisi. Perintah contoh:
-- Buat tabel non-partisi. CREATE TABLE count_test(a BIGINT, b BIGINT); -- Buat tampilan yang di-materialisasi non-partisi. CREATE MATERIALIZED VIEW count_mv LIFECYCLE 7 AS SELECT COUNT(*) FROM count_test; -- Refresh tampilan yang di-materialisasi non-partisi. ALTER MATERIALIZED VIEW count_mv rebuild; -
Contoh 2: Refresh partisi tertentu dari tampilan yang di-materialisasi berpartisi. Perintah contoh:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION (ds='20210101'); -
Contoh 3: Refresh partisi yang sesuai dengan kondisi tertentu. Perintah contoh:
ALTER MATERIALIZED VIEW mv REBUILD PARTITION(ds>='20210101', ds<='20210105');
-
Ubah lifecycle tampilan yang di-materialisasi
Tentukan durasi lifecycle baru dalam hari untuk tampilan yang di-materialisasi.
-
Sintaks
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> SET LIFECYCLE <days>; -
Parameter
Parameter
Wajib
Deskripsi
project_name
Tidak
Nama Proyek MaxCompute yang berisi tampilan yang di-materialisasi. Jika Anda menghilangkan parameter ini, Proyek MaxCompute saat ini yang digunakan. Untuk menemukan nama proyek, login ke Konsol MaxCompute, pilih Wilayah yang sesuai di pojok kiri atas, lalu navigasikan ke halaman Projects.
mv_name
Ya
Nama tampilan yang di-materialisasi yang akan diperbarui.
days
Ya
Lifecycle baru untuk tampilan yang di-materialisasi, dalam satuan hari.
-
Contoh
-- Atur lifecycle tampilan yang di-materialisasi menjadi 10 hari. ALTER MATERIALIZED VIEW mv SET LIFECYCLE 10;
Aktifkan atau nonaktifkan lifecycle
Kontrol apakah tampilan yang di-materialisasi atau partisi tertentu kedaluwarsa secara otomatis.
-
Sintaks
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> [<pt_spec>] enable|disable LIFECYCLE; -
Parameter
Parameter
Wajib
Deskripsi
project_name
Tidak
Nama Proyek MaxCompute yang berisi tampilan yang di-materialisasi. Jika Anda menghilangkan parameter ini, Proyek MaxCompute saat ini yang digunakan. Untuk menemukan nama proyek, login ke Konsol MaxCompute, pilih Wilayah yang sesuai di pojok kiri atas, lalu navigasikan ke halaman Projects.
mv_name
Ya
Nama tampilan yang di-materialisasi yang lifecycle-nya akan diaktifkan atau dinonaktifkan.
pt_spec
Tidak
Partisi yang lifecycle-nya akan diaktifkan atau dinonaktifkan. Jika Anda menghilangkan parameter ini, operasi berlaku untuk seluruh tampilan yang di-materialisasi. Formatnya adalah
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col adalah kolom partisi dan partition_col_value adalah nilainya.enable|disable
Ya
enablemengaktifkan aturan lifecycle.disablemenonaktifkan aturan lifecycle, sehingga mencegah partisi atau tampilan yang di-materialisasi yang ditentukan kedaluwarsa secara otomatis. -
Contoh
-
Contoh 1: Aktifkan manajemen lifecycle untuk tampilan yang di-materialisasi. Perintah contoh:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') enable LIFECYCLE; -
Contoh 2: Nonaktifkan manajemen lifecycle untuk tampilan yang di-materialisasi. Perintah contoh:
ALTER MATERIALIZED VIEW mv PARTITION (ds='20210101') disable LIFECYCLE;
-
Hapus partisi tampilan yang di-materialisasi
Hapus partisi tertentu dari tampilan yang di-materialisasi berpartisi.
-
Sintaks
ALTER MATERIALIZED VIEW [<project_name>.]<mv_name> DROP [IF EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec>, PARTITION <pt_spec>....]; -
Parameter
Parameter
Wajib
Deskripsi
project_name
Tidak
Nama Proyek MaxCompute yang berisi tampilan yang di-materialisasi. Jika Anda menghilangkan parameter ini, Proyek MaxCompute saat ini yang digunakan. Untuk menemukan nama proyek, login ke Konsol MaxCompute, pilih Wilayah yang sesuai di pojok kiri atas, lalu navigasikan ke halaman Projects.
mv_name
Ya
Nama tampilan yang di-materialisasi berpartisi tempat partisi akan dihapus.
IF EXISTS
Tidak
Jika Anda menentukan IF EXISTS, perintah tidak akan melaporkan error jika partisi yang ditentukan tidak ada.
pt_spec
Ya
Partisi yang akan dihapus. Anda harus menentukan setidaknya satu partisi. Formatnya adalah
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). partition_col adalah kolom partisi, dan partition_col_value adalah nilainya. -
Contoh
-
Contoh 1: Hapus partisi tertentu dari tampilan yang di-materialisasi berpartisi. Perintah contoh:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds='20210101'); -
Contoh 2: Hapus partisi yang sesuai dengan kondisi tertentu. Perintah contoh:
ALTER MATERIALIZED VIEW mv DROP PARTITION (ds>='20210101' AND ds<='20210105');
-
Perintah terkait
-
CREATE MATERIALIZED VIEW: Membuat tampilan yang di-materialisasi dari kueri. Perintah ini mendukung pendefinisian properti partisi dan clustering.
-
DESC TABLE/VIEW: Menampilkan metadata tentang tampilan yang di-materialisasi.
-
SELECT MATERIALIZED VIEW: Mengkueri status tampilan yang di-materialisasi.
-
DROP MATERIALIZED VIEW: Menghapus tampilan yang di-materialisasi.