All Products
Search
Document Center

MaxCompute:ALTER MATERIALIZED VIEW

Last Updated:Jul 18, 2026

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

    enable mengaktifkan aturan lifecycle. disable menonaktifkan 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