All Products
Search
Document Center

MaxCompute:Delta Live MV

Last Updated:Aug 22, 2026

Tampilan yang di-materialisasi Delta Live (Delta Live MV) memungkinkan Anda membangun pipeline pembaruan inkremental yang sederhana. Topik ini menjelaskan cara menggunakan Delta Live MV di MaxCompute.

Ikhtisar

Dibandingkan dengan tampilan yang di-materialisasi yang memerlukan pembaruan penuh, Delta Live MV menyeimbangkan kesegaran data dan biaya komputasi. Fitur ini secara cerdas menggunakan kembali hasil komputasi yang telah ada dan menerapkan algoritma komputasi inkremental untuk mengurangi biaya komputasi serta meningkatkan kesegaran data.

Arsitektur

image

Keunggulan utama

Delta Live MV MaxCompute menyediakan keunggulan berikut:

  • Memungkinkan pelapisan gudang data melalui proses deklaratif, sepenuhnya dikelola, dan otomatis.

  • Arsitektur gudang data yang disederhanakan: satu set logika komputasi dan satu mesin mendukung komputasi inkremental maupun penuh, memenuhi kebutuhan latensi rendah dan throughput tinggi.

  • Hemat biaya: menyeimbangkan kesegaran data dan biaya komputasi, serta menangani pemrosesan inkremental dan penuh secara terpadu secara efisien.

Kasus penggunaan

Fitur Delta Live MV cocok untuk kasus penggunaan berikut:

  • Gudang data near-real-time

    Memungkinkan evolusi dari gudang data T+1 menjadi gudang data near-real-time dengan latensi tingkat menit.

  • Pemrosesan inkremental dan penuh terpadu

    • Komputasi inkremental near-real-time pada partisi hari ini untuk kesegaran data tinggi dan efisiensi biaya.

    • (Opsional) Backfill partisi historis untuk pengarsipan data, koreksi, dan analisis data skala besar.

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

    • INNER JOIN dua aliran

    • LEFT/RIGHT OUTER JOIN dua aliran

    • Semua fungsi AGGREGATE (kecuali UDAF), termasuk yang tidak memiliki GROUP BY atau AGG.

    • WINDOW

    • TableFunctionScan

    • UNION ALL

    • FILTER/Project

    • SUBQUERY

Prasyarat

  • Anda memiliki proyek MaxCompute.

  • Tabel sumber harus memiliki Change Data Capture (CDC) yang diaktifkan. Jenis tabel sumber berikut didukung:

    • Delta Table dengan fitur CDC yang diaktifkan secara eksplisit.

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

  • Delta Live MV tidak boleh mengandung komputasi non-deterministik, seperti fungsi RAND atau UDF.

Buat Delta Live MV

Sintaks

CREATE MATERIALIZED VIEW [IF NOT EXISTS][<project_name>.]<mv_name>
[LIFECYCLE <days>]    --Tentukan siklus hidup.
[BUILD DEFERRED]    --Buat hanya skema tabel tanpa mengisi data.
[(<col_name> [COMMENT <col_comment>],...)]    --Komentar kolom.
[DISABLE REWRITE]    --Nonaktifkan penulisan ulang kueri untuk tampilan ini.
[COMMENT <table comment>]    --Komentar tabel.
[PARTITIONED ON/BY (<col_name> [, <col_name>, ...])    --Buat tampilan yang di-materialisasi sebagai tabel partisi.
[REFRESH EVERY <num> MINUTES/HOURS/DAYS] --Atur interval penyegaran terjadwal untuk tampilan yang di-materialisasi.
TBLPROPERTIES(
  "refresh_mode"="incremental"
  [,"enable_auto_refresh"="true"]    --Tentukan apakah akan mengaktifkan penyegaran otomatis.
  [,"refresh_cron"="xx"]             --Konfigurasikan interval terjadwal, titik waktu tertentu, atau kombinasi penyegaran menggunakan ekspresi cron.
  [,"refresh_job_settings"="xx"]
              )
AS <select_statement>;

Sintaks Delta Live MV kompatibel dengan sintaks tampilan yang di-materialisasi standar, dengan perbedaan berikut:

  • Delta Live MV tidak dapat dibuat sebagai tabel terkluster.

  • Parameter enable_auto_substitute tidak dapat diatur ke true untuk Delta Live MV. Delta Live MV adalah tampilan yang di-materialisasi asinkron, sehingga data dari tabel dasar mungkin bukan versi terbaru. Hal ini bertentangan dengan perilaku saat 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

Siklus hidup data dalam hari.

BUILD DEFERRED

Tidak

Membuat skema tabel tanpa menghasilkan data.

col_name

Tidak

Nama kolom.

col_comment

Tidak

Komentar kolom.

DISABLE REWRITE

Tidak

Menonaktifkan penulisan ulang kueri untuk tampilan.

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 akan mengaktifkan penyegaran otomatis.

  • true: Mengaktifkan penyegaran otomatis.

  • false: Menonaktifkan penyegaran otomatis.

refresh_mode

Tidak

Mode penyegaran.

  • full: pembaruan penuh.

  • incremental: pembaruan inkremental.

refresh_cron

Tidak

Ekspresi Cron QUARTZ untuk mengatur frekuensi penyegaran. Anda dapat mengonfigurasi jadwal penyegaran berbasis interval, titik waktu tertentu, atau kombinasi keduanya.

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

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

refresh_job_settings

Tidak

  • Menetapkan parameter tuning umum yang diterapkan secara otomatis selama penyegaran. Berikut contohnya:

    'refresh_job_settings'='set odps.sql.split.size=128;set odps.sql.reshuffle.dynamicpt
    =false;'
  • Flag yang ditetapkan dengan parameter ini memiliki prioritas lebih tinggi daripada flag di sesi saat ini.

select_statement

Ya

Pernyataan kueri SQL.

Contoh

Contoh 1: Buat Delta Live MV sederhana

Definisikan Delta Live MV bernama mv1 yang melakukan penyegaran inkremental secara otomatis setiap 5 menit. Tabel sumber adalah Delta Table dengan CDC yang 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 tampilan dengan parameter tuning

SET odps.task.major.version=sql_flighting_dlmv;

CREATE MATERIALIZED VIEW IF NOT EXISTS part_dlmv_department
PRIMARY KEY(dept_id) -- Kunci primer dapat disimpulkan dari logika SQL. Namun, karena MV partisi hanya mendukung mode BUILD DEFERRED yang memerlukan deklarasi kunci primer eksplisit, Anda harus mendeklarasikannya di sini.
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:

Agar mendukung penyegaran, Delta Live MV harus memiliki kunci primer (PK). Apakah Anda harus mendeklarasikan PK secara eksplisit bergantung pada situasinya:

  • Ketika kunci primer dapat disimpulkan secara otomatis dari logika SQL

    Misalnya, jika SQL berisi klausa GROUP BY key, kunci primer MV secara otomatis disimpulkan sebagai key, dan Anda tidak perlu mendeklarasikannya secara eksplisit. Anda dapat melihat kolom kunci primer yang disimpulkan dengan menjalankan perintah DESC EXTENDED mvName;.

  • Ketika kunci primer tidak dapat disimpulkan secara otomatis dari logika SQL

    • Metode 1: Ubah logika SQL MV dengan menambahkan klausa GROUP BY untuk memenuhi kondisi inferensi otomatis.

    • Metode 2: Deklarasikan kunci primer secara eksplisit. Data itu sendiri harus memenuhi batasan unik. Sistem mencoba memverifikasi keunikan data untuk setiap penyegaran inkremental. Pemeriksaan keunikan untuk pemuatan data awal sedang dioptimalkan dan akan tersedia di rilis mendatang.

  • Persyaratan khusus untuk MV partisi

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

Delta Live MV Dipartisi

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

SET odps.task.major.version=sql_flighting_dlmv;

CREATE MATERIALIZED VIEW IF NOT EXISTS part_dlmv_department
PRIMARY KEY(dept_id) -- Kunci primer dapat disimpulkan dari logika SQL. Namun, karena MV partisi hanya mendukung mode BUILD DEFERRED yang memerlukan deklarasi kunci primer eksplisit, Anda harus mendeklarasikannya di sini.
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 near-real-time yang terutama berisi data inkremental 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: Gunakan group by key untuk menurunkan kolom PK dari dlmv.

// 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) -- Kunci primer dapat disimpulkan dari logika SQL. Namun, karena MV partisi hanya mendukung mode BUILD DEFERRED yang memerlukan deklarasi kunci primer eksplisit, Anda harus mendeklarasikannya di sini.
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 kolom 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) --Kunci primer dapat disimpulkan dari logika SQL. Namun, karena MV partisi hanya mendukung mode BUILD DEFERRED yang memerlukan deklarasi kunci primer eksplisit, Anda harus mendeklarasikannya di sini.
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: Kolom 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 kunci primer secara eksplisit
CREATE MATERIALIZED VIEW dlmv_pt
primary key(value) -- Kolom kunci primer tidak dapat disimpulkan sebagai 'value' dari logika SQL, tetapi pengguna tahu bahwa data itu sendiri memenuhi keunikan kunci primer. Kunci primer 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 memungkinkan inferensi kunci primer.
-- Jika keunikan kolom 'value' tidak dapat dijamin, logika dapat dimodifikasi dengan klausa group by, seperti di bawah ini:
CREATE MATERIALIZED VIEW dlmv_pt
primary key(value) -- Kunci primer dapat disimpulkan dari logika SQL. Namun, karena MV partisi hanya mendukung mode BUILD DEFERRED yang memerlukan deklarasi kunci primer eksplisit, Anda harus mendeklarasikannya di sini.
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;

Non-partisi Delta Live MV

Skenario 1: Dengan menggunakan group by key, Anda dapat menurunkan kolom PK dari DLMV.

// 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) dapat disimpulkan dari logika SQL (group by value), sehingga deklarasi eksplisit tidak diperlukan.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS SELECT value, MAX(value2) FROM dlmv_base_table GROUP BY value;

Skenario 2: Simpulkan kolom 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) dapat disimpulkan dari logika SQL (diturunkan dari kunci primer tabel dasar), sehingga deklarasi eksplisit tidak diperlukan.
TBLPROPERTIES (
    'refresh_mode'        = 'incremental',
    'enable_auto_refresh' = 'true'
)
AS
SELECT key, value, value2 FROM dlmv_base_table;

Skenario 3: Kolom 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 kunci primer secara eksplisit
CREATE MATERIALIZED VIEW dlmv
primary key(value) -- Kolom kunci primer tidak dapat disimpulkan sebagai 'value' dari logika SQL, tetapi pengguna tahu bahwa data itu sendiri memenuhi keunikan kunci primer. Kunci primer 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 memungkinkan inferensi kunci primer
-- Jika keunikan kolom 'value' tidak dapat dijamin, logika dapat dimodifikasi dengan klausa group by, seperti di bawah ini:
CREATE MATERIALIZED VIEW dlmv
-- primary key(value) dapat disimpulkan dari logika SQL (group by value), sehingga deklarasi eksplisit tidak diperlukan.
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

Saat membuat Delta Live MV partisi, Anda harus menambahkan kata kunci BUILD DEFERRED untuk menunjukkan bahwa hanya operasi DDL yang dilakukan.

-- 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 cara menyegarkan Delta Live MV, lihat Segarkan Delta Live MV secara manual.

Contoh 4: Gunakan definisi berparameter

Penggunaan definisi berparameter dapat membantu Anda memigrasikan pekerjaan partisi offline ke pekerjaan inkremental.

  • Fungsi get_setting didukung untuk mengambil nilai parameter yang ditetapkan dalam flag sesi. Parameter tersebut harus diawali dengan dps.custom.setting.

  • Ganti ${biz_date} dalam pekerjaan offline tradisional dengan get_setting(odps.custom.setting.xx) untuk menyelesaikan parameterisasi.

  • Tambahkan flag sesi set odps.custom.setting.xx=yy sebelum pernyataan penyegaran Delta Live MV.

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

Contoh:

-- Buat Delta Live MV.
CREATE MATERIALIZED VIEW mv1 
BUILD DEFERRED -- Hanya DDL; tidak ada data yang dihasilkan.
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: Penjadwalan DataWorks secara otomatis mengganti ${biz_date} dan ${yesterday}.
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. Penyegaran manual hanya mendukung satu partisi.

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

Dalam sintaks ini, ds adalah kolom partisi.

Nonaktifkan penyegaran otomatis

Untuk menonaktifkan fitur penyegaran otomatis, jalankan perintah berikut:

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

Lanjutkan penyegaran otomatis

Jalankan perintah berikut untuk mengubah TBLPROPERTIES tampilan yang di-materialisasi guna mengaktifkan atau melanjutkan penyegaran otomatis.

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 Anda mengatur nilai ini lebih kecil daripada siklus hidup CDC tabel dasar.

Lihat Delta Live MV

Lihat riwayat perubahan data

Jalankan perintah berikut untuk melihat catatan 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 kembalian

Bidang

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 berakhir penyegaran. Jika state pekerjaan adalah RUNNING, bidang ini bernilai NULL.

instance_id

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

duration_in_seconds

Durasi penyegaran.

state

Status pekerjaan.

  • RUNNING

  • TERMINATED

  • FAILED

  • CANCELLED

refresh_trigger

Metode penyegaran.

  • MANUAL: Penyegaran dipicu secara manual oleh pengguna atau dijadwalkan menggunakan DataWorks.

  • SYSTEM_SCHEDULED: Penyegaran dipicu oleh penjadwal internal MaxCompute.

refresh_mode

Mode penyegaran.

  • FULL

  • INCREMENTAL

  • NO_DATA

error_message

Informasi tentang kegagalan penyegaran. Jika penyegaran berhasil, nilai ini adalah NULL.

source_tables

Nama dan versi tabel dasar yang digunakan untuk penyegaran.

numInsertedRows

Jumlah baris yang dimasukkan.

numDeletedRows

Jumlah baris yang dihapus.

Penagihan

Delta Live MV dikenai biaya komputasi dan penyimpanan, dengan metode penagihan yang sama seperti operasi tampilan yang di-materialisasi biasa.

  • Biaya Komputasi

    • Saat Anda membuat atau menyegarkan Delta Live MV, sumber daya komputasi akan dikonsumsi dan dikenai biaya jika pekerjaan dimulai untuk menghitung data. Aturan penagihan sama dengan pekerjaan SQL standar.

    • Jika penyegaran otomatis dipicu tetapi tidak ada perubahan data, MaxCompute tidak menjalankan pekerjaan penyegaran sehingga tidak ada biaya yang dikenakan.

    • Kami menyarankan menempatkan Delta Live MV di proyek khusus untuk memudahkan pelacakan pekerjaan penyegaran otomatis, penggunaan sumber daya komputasi, dan biaya terkait.

  • Biaya Penyimpanan

    • Delta Live MV dikenai biaya penyimpanan dengan cara yang sama seperti tampilan yang di-materialisasi standar dan tabel biasa.

    • Untuk beberapa operator, Delta Live MV mungkin menggunakan algoritma komputasi inkremental berbasis status, yang menghasilkan tabel status internal dan mengonsumsi penyimpanan tambahan.

    • Delta Live MV menimbulkan overhead penyimpanan untuk CDC dan Time Travel, yang besarnya mirip dengan Delta Table standar.