All Products
Search
Document Center

MaxCompute:Delta Live Materialized View (Delta Live MV) (Invitational Preview)

Last Updated:May 07, 2026

MaxCompute memperkenalkan fitur Delta Live Materialized View (Delta Live MV) untuk membantu Anda membangun pipeline pembaruan inkremental yang sederhana dan mudah digunakan. Topik ini menjelaskan operasi Delta Live MV di MaxCompute.

Pendahuluan

Dibandingkan dengan tampilan materialisasi berbasis pembaruan penuh, Delta Live Materialized View menyeimbangkan kesegaran data dan biaya komputasi. Fitur ini memanfaatkan hasil komputasi yang telah ada dan menggunakan algoritma komputasi inkremental cerdas untuk mengurangi biaya komputasi sekaligus meningkatkan kesegaran data.

Arsitektur

image

Manfaat utama

Fitur Delta Live MV di MaxCompute memberikan manfaat berikut:

  • SQL deklaratif, bebas maintenance, dan pelapisan gudang data otomatis.

  • Arsitektur gudang data yang disederhanakan. Logika dan engine komputasi tunggal mendukung komputasi inkremental maupun penuh, menyediakan latensi rendah dan throughput tinggi secara bersamaan.

  • Hemat biaya. Menyeimbangkan kesegaran data dan biaya, serta menangani pemrosesan ETL inkremental dan penuh secara terpadu secara efisien.

Kasus penggunaan

Fitur Delta Live MV cocok untuk skenario berikut:

  • Pemrosesan hampir real-time untuk beban kerja offline

    Mengubah gudang data T+1 menjadi gudang data hampir real-time dengan latensi tingkat menit.

  • Pemrosesan inkremental dan penuh terpadu

    • Komputasi inkremental hampir real-time pada partisi hari ini: Ideal untuk skenario yang membutuhkan kesegaran data tinggi dan komputasi hemat biaya.

    • (Opsional) Backfill partisi historis: Mengarsipkan atau memperbaiki data untuk analisis data skala besar.

  • Dukungan komprehensif untuk komputasi inkremental dengan berbagai jenis logika SQL, termasuk operator SQL umum berikut:

    • INNER JOIN dua aliran

    • OUTER JOIN dua aliran (LEFT/RIGHT)

    • Fungsi AGGREGATE apa pun (kecuali user-defined aggregate functions (UDAFs)), termasuk fungsi tanpa klausa GROUP BY.

    • WINDOW

    • TableFunctionScan

    • UNION ALL

    • FILTER/Project

    • SUBQUERY

Prasyarat

  • Anda telah membuat proyek MaxCompute.

  • Change Data Capture (CDC) diaktifkan pada tabel sumber. Jenis tabel sumber berikut didukung:

    • Delta Table dengan fitur CDC diaktifkan.

    • Delta Live MV lain. CDC diaktifkan secara default untuk Delta Live MV.

  • Delta Live MV tidak dapat menggunakan komputasi non-deterministik, seperti fungsi RAND atau user-defined functions (UDFs).

Buat Delta Live MV

Sintaks

CREATE MATERIALIZED VIEW [IF NOT EXISTS][<project_name>.]<mv_name>
[LIFECYCLE <days>]    -- Menentukan siklus hidup.
[BUILD DEFERRED]    -- Hanya membuat skema tabel tanpa mengisi data saat pembuatan.
[(<col_name> [COMMENT <col_comment>],...)]    -- Menentukan komentar kolom.
[DISABLE REWRITE]    -- Menentukan apakah tampilan digunakan untuk penulisan ulang kueri.
[COMMENT <table comment>]    -- Menentukan komentar tabel.
[PARTITIONED ON/BY (<col_name> [, <col_name>, ...])    -- Membuat tampilan yang di-materialisasi sebagai tabel partisi.
[REFRESH EVERY <num> MINUTES/HOURS/DAYS] -- Mengatur interval penyegaran terjadwal.
TBLPROPERTIES(
  "refresh_mode"="incremental"
  [,"enable_auto_refresh"="true"]    -- Menentukan apakah auto-refresh diaktifkan.
  [,"refresh_cron"="xx"]             -- Menggunakan ekspresi cron untuk mengonfigurasi jadwal penyegaran berbasis interval, waktu tetap, atau campuran.
  [,"refresh_job_settings"="xx"]
              )
AS <select_statement>;

Sintaks Delta Live MV sebagian besar kompatibel dengan sintaks tampilan materialisasi standar, dengan perbedaan utama berikut:

  • Anda tidak dapat membuat Delta Live MV sebagai tabel terkluster.

  • Anda tidak dapat mengatur parameter enable_auto_substitute ke true untuk Delta Live MV. Delta Live MV merupakan jenis tampilan materialisasi asinkron, sehingga data dari tabel dasar mungkin bukan versi terbaru. Hal ini bertentangan dengan perilaku yang diharapkan ketika enable_auto_substitute diatur ke true.

Parameter

Parameter

Wajib

Deskripsi

project_name

Tidak

Nama proyek.

mv_name

Ya

Nama Delta Live MV.

LIFECYCLE <days>

Tidak

Menentukan siklus hidup data.

BUILD DEFERRED

Tidak

Menentukan bahwa hanya skema tabel yang dibuat, tanpa mengisi data saat pembuatan.

col_name

Tidak

Nama kolom.

col_comment

Tidak

Komentar kolom.

DISABLE REWRITE

Tidak

Mencegah tampilan digunakan untuk penulisan ulang kueri.

table comment

Tidak

Komentar tabel.

REFRESH EVERY <num> MINUTES/HOURS/DAYS

Tidak

Menentukan interval penyegaran terjadwal. Nilai minimum adalah 1 menit.

enable_auto_refresh

Tidak

Menentukan apakah auto-refresh diaktifkan.

  • true: Mengaktifkan auto-refresh.

  • false: Menonaktifkan auto-refresh.

refresh_mode

Tidak

Mode penyegaran.

  • full: pembaruan penuh.

  • incremental: pembaruan bertahap.

refresh_cron

Tidak

Menentukan ekspresi Cron untuk mengatur frekuensi penyegaran. Anda dapat mengonfigurasi jadwal penyegaran berbasis interval, waktu tetap, atau campuran.

Nilainya berupa string dalam format QUARTZ Cron. Untuk informasi selengkapnya, lihat Contoh ekspresi cron. Contoh:

TBLPROPERTIES(
  "enable_auto_refresh"="true",
  "refresh_cron"="xx"
)

refresh_job_settings

Tidak

  • Mengatur parameter tuning umum yang diterapkan secara otomatis selama penyegaran. Contoh:

    'refresh_job_settings'='set odps.sql.split.size=128;set odps.sql.reshuffle.dynamicpt
    =false;'
  • flag yang diatur dengan parameter ini memiliki prioritas lebih tinggi daripada flag dalam session saat ini.

select_statement

Ya

Kueri SQL.

Contoh

Contoh 1: Buat Delta Live MV sederhana

Menentukan Delta Live MV bernama mv1 yang melakukan penyegaran inkremental secara otomatis setiap 5 menit. Tabel sumber adalah Delta Table dengan CDC diaktifkan.

CREATE MATERIALIZED VIEW IF NOT EXISTS mv1
REFRESH EVERY 5 MINUTES
TBLPROPERTIES("enable_auto_refresh"="true", "refresh_mode"="incremental")
AS 
SELECT name, COUNT(*) FROM source GROUP BY name;

Contoh 2: Buat Delta Live MV yang dioptimalkan

SET odps.task.major.version=sql_flighting_dlmv;

CREATE MATERIALIZED VIEW IF NOT EXISTS part_dlmv_department
PRIMARY KEY(dept_id) -- Kolom kunci primer `dept_id` dapat disimpulkan dari logika SQL berdasarkan kunci primer tabel dasar. 
-- Deklarasi eksplisit biasanya tidak diperlukan. Namun, karena MV partisi saat ini hanya mendukung mode BUILD DEFERRED, 
-- yang tidak mendukung inferensi kunci otomatis, Anda harus mendeklarasikan kunci primer secara eksplisit.
LIFECYCLE 10
BUILD DEFERRED
PARTITIONED BY (pt)
TBLPROPERTIES('refresh_mode'='incremental', 
  'refresh_job_settings'='set odps.task.major.version=sql_flighting_dlmv;')
AS 
SELECT *, get_setting('odps.custom.setting.department.pt') AS pt FROM t_department; 

Persyaratan kunci primer untuk penyegaran MV

Saat ini, penyegaran tampilan materialisasi memerlukan MV memiliki kunci primer (PK). Berbeda dengan Delta Table PK, MV dihasilkan dari logika SQL. Apakah Anda perlu mendeklarasikan kunci primer secara eksplisit saat membuat MV bergantung pada situasi berikut:

  • Ketika kunci primer dapat disimpulkan dari logika SQL

    Sebagai contoh, jika pernyataan SQL berisi klausa GROUP BY key, kunci primer MV secara otomatis disimpulkan sebagai key dan tidak perlu dideklarasikan secara eksplisit. Anda dapat menjalankan perintah DESC EXTENDED mvName; untuk melihat kolom kunci primer yang disimpulkan.

  • Ketika kunci primer tidak dapat disimpulkan dari logika SQL

    • Metode 1: Ubah logika SQL MV dengan menambahkan klausa GROUP BY agar inferensi otomatis dimungkinkan.

    • Metode 2: Deklarasikan kunci primer secara eksplisit. Perhatikan bahwa data harus memenuhi batasan unik. Sistem melakukan pemeriksaan upaya terbaik untuk keunikan data selama setiap penyegaran inkremental. Dukungan untuk pemeriksaan keunikan kunci primer selama fase build awal akan ditingkatkan di rilis mendatang.

  • Persyaratan khusus untuk MV partisi

    MV partisi saat ini hanya mendukung mode BUILD DEFERRED. Dalam mode ini, inferensi kunci primer otomatis tidak didukung. Oleh karena itu, Anda harus mendeklarasikan kunci primer secara eksplisit.

Terpartisi Delta Live MV

Skenario 1: Gunakan Delta Live MV partisi untuk merepresentasikan data inkremental hari ini dan data historis lengkap

SET odps.task.major.version=sql_flighting_dlmv;

CREATE MATERIALIZED VIEW IF NOT EXISTS part_dlmv_department
PRIMARY KEY(dept_id) -- Kolom kunci primer `dept_id` dapat disimpulkan dari logika SQL berdasarkan kunci primer tabel dasar.
-- Deklarasi eksplisit biasanya tidak diperlukan. Namun, karena MV Delta Live partisi saat ini hanya mendukung mode BUILD DEFERRED, 
-- yang tidak mendukung inferensi kunci otomatis, Anda harus mendeklarasikan kunci primer secara eksplisit.
LIFECYCLE 10
BUILD DEFERRED
PARTITIONED BY (pt)
TBLPROPERTIES('refresh_mode'='incremental', 
  'refresh_job_settings'='set odps.task.major.version=sql_flighting_dlmv;')
AS 
-- t_department adalah tabel ingestion hampir real-time yang menggambarkan data inkremental untuk hari ini.
SELECT *, get_setting('odps.custom.setting.department.pt') AS pt FROM t_department; 
UNION ALL
-- history_t_department adalah tabel partisi historis yang berisi semua data historis.
SELECT * FROM history_t_department;

Skenario 2: Simpulkan kunci primer Delta Live MV dengan menggunakangroup by key

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

CREATE MATERIALIZED VIEW dlmv_pt
PRIMARY KEY(value) -- Kolom kunci primer `value` dapat disimpulkan dari logika SQL (GROUP BY value).
-- Deklarasi eksplisit biasanya tidak diperlukan. Namun, karena MV Delta Live partisi saat ini hanya mendukung mode BUILD DEFERRED,
-- yang tidak mendukung inferensi kunci otomatis, Anda harus mendeklarasikan kunci primer secara eksplisit.
BUILD DEFERRED 
PARTITIONED BY (pt)
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS SELECT *, get_setting('odps.custom.setting.dlmv_pt.pt') AS pt FROM (SELECT value, MAX(value2)  FROM dlmv_base_table GROUP BY value) t;

Skenario 3: Simpulkan kunci primer Delta Live MV dari kunci primer tabel dasar

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

CREATE MATERIALIZED VIEW dlmv_pt
PRIMARY KEY(key) -- Kolom kunci primer `key` dapat disimpulkan dari logika SQL (diturunkan dari PK tabel dasar).
-- Deklarasi eksplisit biasanya tidak diperlukan. Namun, karena MV Delta Live partisi saat ini hanya mendukung mode BUILD DEFERRED, 
-- yang tidak mendukung inferensi kunci otomatis, Anda harus mendeklarasikan kunci primer secara eksplisit.
BUILD DEFERRED 
PARTITIONED BY (pt)
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS
SELECT key, value, value2, get_setting('odps.custom.setting.dlmv_pt.pt') as pt FROM dlmv_base_table;

Skenario 4: Kunci primer Delta Live MV tidak dapat disimpulkan

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

# 1. Deklarasikan kolom PK secara eksplisit.
CREATE MATERIALIZED VIEW dlmv_pt
PRIMARY KEY(value) -- PK tidak dapat disimpulkan dari logika SQL, tetapi Anda tahu data memenuhi keunikan PK. PK harus dideklarasikan secara eksplisit.
BUILD DEFERRED 
PARTITIONED BY (pt)
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS
SELECT value, value2, get_setting('odps.custom.setting.dlmv_pt.pt') as pt FROM dlmv_base_table;

# 2. Ubah logika SQL agar inferensi PK dimungkinkan.
-- Jika Anda tidak dapat menjamin keunikan kolom 'value', ubah logika dengan klausa GROUP BY, seperti ditunjukkan di bawah:
CREATE MATERIALIZED VIEW dlmv_pt
PRIMARY KEY(value) -- PK `value` kini dapat disimpulkan dari logika SQL (GROUP BY value).
-- Deklarasi eksplisit biasanya tidak diperlukan. Namun, karena MV Delta Live partisi saat ini hanya mendukung mode BUILD DEFERRED, 
-- yang tidak mendukung inferensi kunci otomatis, Anda harus mendeklarasikan kunci primer secara eksplisit.
BUILD DEFERRED 
PARTITIONED BY (pt)
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS SELECT value, MAX(value2), get_setting('odps.custom.setting.dlmv_pt.pt') as pt FROM dlmv_base_table GROUP BY value;

Tidak dipartisi Delta Live MV

Skenario 1: Simpulkan kunci primer Delta Live MV dengan menggunakangroup by key

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

CREATE MATERIALIZED VIEW dlmv
-- PRIMARY KEY(value) -- PK `value` dapat disimpulkan dari logika SQL (GROUP BY value), sehingga tidak perlu deklarasi eksplisit.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS SELECT value, MAX(value2) FROM dlmv_base_table GROUP BY value;

Skenario 2: Simpulkan kunci primer Delta Live MV dari kunci primer tabel dasar

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

CREATE MATERIALIZED VIEW dlmv
-- PRIMARY KEY(key) -- PK `key` dapat disimpulkan dari logika SQL (diturunkan dari PK tabel dasar), sehingga tidak perlu deklarasi eksplisit.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS
SELECT key, value, value2 FROM dlmv_base_table;

Skenario 3: Kunci primer Delta Live MV tidak dapat disimpulkan

-- PK Delta Table
CREATE TABLE dlmv_base_table(
    key    STRING NOT NULL PRIMARY KEY,
    value  BIGINT,
    value2 BIGINT
)
STORED AS ALIORC
TBLPROPERTIES (
    'transactional'                    = 'true',
    'cdc.insert.into.passthrough.enable' = 'true',
    'acid.cdc.mode.enable'             = 'true',
    'acid.cdc.build.async'             = 'false'
);

# 1. Deklarasikan kolom PK secara eksplisit.
CREATE MATERIALIZED VIEW dlmv
PRIMARY KEY(value) -- PK tidak dapat disimpulkan dari logika SQL, tetapi Anda tahu data memenuhi keunikan PK. PK harus dideklarasikan secara eksplisit.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS
SELECT value, value2 FROM dlmv_base_table;

# 2. Ubah logika SQL agar inferensi PK dimungkinkan.
-- Jika Anda tidak dapat menjamin keunikan kolom 'value', ubah logika dengan klausa GROUP BY, seperti ditunjukkan di bawah:
CREATE MATERIALIZED VIEW dlmv
-- PRIMARY KEY(value) -- PK `value` kini dapat disimpulkan dari logika SQL (GROUP BY value), sehingga tidak perlu deklarasi eksplisit.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS SELECT value, MAX(value2) FROM dlmv_base_table GROUP BY value;

Contoh 3: Segarkan satu partisi MV

Saat membuat Delta Live MV partisi, Anda harus menyertakan kata kunci BUILD DEFERRED, yang hanya melakukan operasi DDL.

-- Buat Delta Live MV.
CREATE MATERIALIZED VIEW dlmv_pt
PRIMARY KEY(value) BUILD DEFERRED PARTITIONED BY (ds) TBLPROPERTIES
('refresh_mode'='incremental', 'enable_auto_refresh'='true') 
AS SELECT value, AVG(value2), ds FROM dlmv_pt_src GROUP BY value, ds;

-- Segarkan satu partisi.
ALTER MATERIALIZED VIEW dlmv_pt REBUILD PARTITION(ds='20250730');
Catatan

Untuk informasi selengkapnya tentang penyegaran Delta Live MV, lihat Penyegaran manual.

Contoh 4: Buat Delta Live MV berparameter

Anda dapat menggunakan definisi berparameter untuk memigrasikan pekerjaan partisi offline ke pekerjaan inkremental.

  • Fungsi get_setting mengambil nilai parameter yang diatur dalam Session Flags. Nama parameter harus diawali dengan odps.custom.setting.

  • Pada pekerjaan offline tradisional, ganti variabel seperti ${biz_date} dengan get_setting(odps.custom.setting.xx) untuk memparameterisasi definisi.

  • Tambahkan Session Flag set odps.custom.setting.xx=yy sebelum pernyataan penyegaran untuk Delta Live MV.

  • Selama waktu proses, pengoptimal MaxCompute secara otomatis mengganti get_setting(odps.custom.setting.xx) dalam Delta Live MV dengan yy.

Berikut adalah contohnya:

-- Buat Delta Live MV.
CREATE MATERIALIZED VIEW mv1 
BUILD DEFERRED -- Hanya melakukan operasi DDL dan tidak mengisi data.
PARTITIONED BY (ds) 
REFRESH EVERY 5 minutes 
TBLPROPERTIES("enable_auto_refresh"="true", "refresh_mode"="incremental")
AS 
SELECT A.* FROM A JOIN B ON A.c1 = B.c1
  AND A.ds=get_setting('odps.custom.setting.bizdate.a')
  AND B.ds=get_setting('odps.custom.setting.bizdate.b');

-- Logika penyegaran. DataWorks secara otomatis mengganti ${biz_date} dan ${yesterday} selama penjadwalan.
SET odps.custom.setting.bizdate.a=${biz_date};
SET odps.custom.setting.bizdate.b=${yesterday};
ALTER MATERIALIZED VIEW mv1 REBUILD PARTITION(ds=${biz_date});

Kelola Delta Live MV

Hapus Delta Live MV

DROP MATERIALIZED VIEW [IF EXISTS] [<project_name>.]<mv_name>;

Penyegaran manual

Anda dapat menyegarkan Delta Live MV secara manual. Hanya penyegaran satu partisi yang didukung. Sintaksnya sama dengan tampilan materialisasi standar:

ALTER MATERIALIZED VIEW [<project_name>.]<mv_name>
      REBUILD [PARTITION(<ds>=max_pt(<table_name>),<expression1>...)];

Dalam sintaks ini, ds adalah kolom partisi.

Nonaktifkan auto-refresh

Jalankan perintah berikut untuk mengubah TBLPROPERTIES tampilan materialisasi guna menonaktifkan fitur auto-refresh:

ALTER MATERIALIZED VIEW <mv_name> SET TBLPROPERTIES("enable_auto_refresh"="false");

Resume auto-refresh

Jalankan perintah berikut untuk mengubah TBLPROPERTIES tampilan materialisasi guna mengaktifkan atau melanjutkan auto-refresh:

ALTER MATERIALIZED VIEW <mv_name> SET TBLPROPERTIES("enable_auto_refresh"="true");

Ubah frekuensi penyegaran

Jalankan perintah berikut untuk mengubah frekuensi penyegaran Delta Live MV:

ALTER MATERIALIZED VIEW <mv_name> 
SET TBLPROPERTIES("refresh_interval_minutes"="xx");
Catatan

Nilai minimum untuk parameter refresh_interval_minutes adalah 1. Kami menyarankan agar Anda mengatur nilai ini lebih pendek daripada siklus hidup CDC tabel dasar.

Lihat Delta Live MV

Lihat riwayat perubahan data

Jalankan perintah berikut untuk melihat riwayat perubahan data Delta Live MV:

SHOW HISTORY FOR TABLE <mv_name>;

Contoh hasil:

ObjectType      ObjectId                                ObjectName              VERSION(LSN)            Time                    Operation
TABLE           d95ec7015e8b432e8e0092d01da962a9        incremental_mv          0000000000000001        2024-08-18 21:06:32     CREATE
TABLE           d95ec7015e8b432e8e0092d01da962a9        incremental_mv          0000000000000002        2024-08-18 21:11:13     UPDATE

Lihat riwayat penyegaran

Jalankan perintah berikut untuk melihat riwayat penyegaran Delta Live MV.

SELECT * FROM 
Delta_Live_MV_Refresh_History(['<project_name>', '<schema_name>',]'<table_name>');

Parameter

Parameter

Deskripsi

project_name

Nama proyek.

schema_name

Nama skema.

table_name

Nama tabel.

Nilai kembali

Parameter

Deskripsi

project_name

Proyek yang berisi Delta Live MV.

schema_name

Skema yang berisi Delta Live MV.

name

Nama Delta Live MV.

refresh_start_time

Waktu mulai penyegaran.

refresh_end_time

Waktu selesai penyegaran. Jika status pekerjaan RUNNING, nilai bidang ini adalah NULL.

instance_id

ID pekerjaan. Anda dapat menggunakan ID ini untuk mendapatkan Logview.

duration_in_seconds

Durasi penyegaran, dalam detik.

state

Status pekerjaan.

  • RUNNING: Pekerjaan sedang berjalan.

  • TERMINATED: Pekerjaan berhasil diselesaikan.

  • FAILED: Pekerjaan gagal.

  • CANCELLED: Pekerjaan dibatalkan.

refresh_trigger

Metode yang memicu penyegaran.

  • MANUAL: Pengguna memicu penyegaran secara manual. MaxCompute menganggap penyegaran yang dijadwalkan oleh DataWorks sebagai pemicu manual.

  • SYSTEM_SCHEDULED: Penjadwal internal MaxCompute memicu penyegaran.

refresh_mode

Mode penyegaran.

  • FULL: pembaruan penuh.

  • INCREMENTAL: pembaruan bertahap.

  • NO_DATA: Tidak ada data inkremental yang tersedia untuk penyegaran.

error_message

Pesan error jika penyegaran gagal. Jika penyegaran berhasil, bidang ini bernilai NULL.

source_tables

Nama tabel dasar yang digunakan oleh Delta Live MV dan versi yang sesuai.

numInsertedRows

Jumlah baris yang dimasukkan.

numDeletedRows

Jumlah baris yang dihapus.

Penagihan

Delta Live MV dikenai biaya komputasi dan penyimpanan. Metode penagihan sama dengan operasi tampilan materialisasi standar.

  • Biaya komputasi

    • Membuat atau menyegarkan Delta Live MV dapat memicu pekerjaan komputasi. Pekerjaan ini mengonsumsi sumber daya komputasi dan dikenai biaya komputasi. Aturan penagihan sama dengan pekerjaan SQL standar.

    • Jika fitur auto-refresh mendeteksi tidak ada perubahan data, pekerjaan penyegaran tidak dipicu dan tidak ada biaya yang dikenakan.

    • Menempatkan Delta Live MV dalam proyek khusus mempermudah pelacakan pekerjaan auto-refresh beserta konsumsi sumber daya dan biayanya.

  • Biaya penyimpanan

    • Penyimpanan untuk Delta Live MV ditagih dengan cara yang sama seperti tampilan materialisasi standar atau tabel biasa.

    • Untuk operator tertentu, Delta Live MV dapat menggunakan algoritma komputasi inkremental berbasis status, yang menghasilkan tabel status internal yang mengonsumsi ruang penyimpanan tambahan.

    • Delta Live MV memerlukan overhead penyimpanan untuk CDC inkremental dan Time Travel. Overhead penyimpanan ini mirip dengan Delta Table standar.