日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

增量物化視圖(Delta Live MV)(邀測)

MaxCompute新推出增量物化視圖功能(Delta Live Materialized View),幫助用戶構建簡單易用的增量更新Pipeline。本文為您介紹MaxCompute增量物化視圖的相關操作。

功能介紹

MaxCompute的增量物化視圖Delta Live MV功能具備以下特點:

  • 聲明式SQL。

  • 增量全量一體化,統一的SQL、存儲和計算。

  • 自動增量刷新,自定義數據新鮮度。

  • 通過級聯增量物化視圖,構建簡單易用的增量更新Pipeline。

增量物化視圖相比全量刷新物化視圖,能夠平衡數據新鮮度和計算代價,充分利用存量的計算結果,通過智能的增量計算算法,減少計算代價,并提高數據新鮮度。

image

該功能目前處于邀測中,邀測功能使用方法請參見使用說明

前提條件

  • 已在MaxCompute控制臺創建云棲新功能邀測項目。

  • 源表(source table)已開啟CDC功能。目前支持的源表類型如下:

    • Delta Table增量表(詳情請參見Delta Table概述),并且需要開啟CDC功能。詳情請參見建表DDL

    • 增量物化視圖表。增量物化視圖默認已開啟CDC功能。

使用限制

  • 增量物化視圖不能包含非確定性計算,如RAND函數、UDF等。

  • 當前增量物化視圖支持的SQL算子包含:PROJECT、FILTER、AGGREGATE、JOIN。其中:

    • AGGREGATE當前僅支持以下常見函數:SUM、COUNT、AVG、MIN、MAX。

    • JOIN當前僅支持維表不發生數據變化的維表JOIN。

創建增量物化視圖

CREATE MATERIALIZED VIEW [IF NOT EXISTS][<project_name>.]<mv_name>
[LIFECYCLE <days>]    --指定生命周期
[BUILD DEFERRED]    -- 指定是在創建時只生成表結構,不生成數據
[(<col_name> [COMMENT <col_comment>],...)]    --列注釋
[DISABLE REWRITE]    --指定是否用于改寫
[COMMENT 'table comment']    --表注釋
[PARTITIONED ON/BY (<col_name> [, <col_name>, ...])    --創建物化視圖表為分區表
[REFRESH EVERY xx MINUTES/HOURS/DAYS] -- 設置物化視圖定時更新間隔
[TBLPROPERTIES(
  "compressionstrategy"="normal/high/extreme",    --指定表數據存儲壓縮策略
  "enable_auto_refresh"="true",    --指定是否開啟自動刷新
  "refresh_mode"="incremental",    --指定刷新模式
  "only_refresh_max_pt"="true",    --針對分區物化視圖,只自動刷新源表最新分區
  "refresh_cron"="xx"              --根據cron定時器,可以配置定時間隔更新或者定點更新,間隔定點更新等
              )]
AS <select_statement>;

增量物化視圖Delta Live MV的語法兼容主要普通物化視圖的語法,目前存在以下差異:

  • 當前不支持將增量物化視圖創建為聚簇表。

  • 增量物化視圖不支持將enable_auto_substitute參數設置為true。增量物化視圖是異步物化視圖形態,所使用的base table數據不一定是最新版本,與enable_auto_substitute設置為true時沖突。

示例:創建一個簡單的增量物化視圖。

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;

上述SQL語法定義了一個名為mv1的增量物化視圖,每5分鐘自動進行一次增量刷新。其中source為一張開啟CDC功能的Delta Table。

增量刷新模式

相比普通物化視圖,您只需要增加以下屬性參數,即可指定該物化視圖為增量刷新模式或全量刷新模式。

"refresh_mode"="incremental"

目前MaxCompute物化視圖支持如下兩種刷新模式:

  • full:全量刷新,物化視圖的默認刷新方式。

  • incremental:增量刷新。內置增量計算能力,只對增量變化的部分進行計算。

自動刷新頻率

增量物化視圖提供以下方式來控制刷新頻率和數據新鮮度:

  • 通過REFRESH EVERY xx MINUTES/HOURS/DAYS語法來指定刷新調度間隔,最小值為1分鐘。

    refresh every 2 minutes
  • 通過在TBLPROPERTIES中指定cron表達式來設置刷新頻率,根據cron定時器,可以配置定時間隔更新、定點更新或間隔定點更新等。其中refresh_cron對應的參數是QUARTZ Cron格式的字符串,使用詳情請參見Cron expression examples

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

通常, 指定刷新周期和打開自動刷新("enable_auto_refresh"="true")一起配合使用。

管理和可觀測

刪除增量物化視圖

DROP materialized VIEW [if EXISTS] [<project_name>.]<mv_name>

手動刷新增量物化視圖

增量物化視圖也提供手動刷新能力,語法和普通物化視圖相同:

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

ds:指分區列。

關閉自動刷新

通過修改物化視圖的TBLPROPERTIES參數,可以關閉自動刷新功能。命令如下:

ALTER MATERIALIZED VIEW mv SET TBLPROPERTIES("enable_auto_refresh"="false");

恢復自動刷新

通過修改物化視圖的TBLPROPERTIES參數,可以打開或者恢復自動刷新。

ALTER MATERIALIZED VIEW mv SET TBLPROPERTIES("enable_auto_refresh"="true");

修改刷新頻率

通過以下命令,可以修改增量物化視圖的刷新頻率。

ALTER MATERIALIZED VIEW mv 
SET TBLPROPERTIES("enable_auto_refresh"="true", "refresh_interval_minutes"="xx");
說明

refresh_interval_minutes參數最小取值為1,建議該值小于base table的CDC生命周期。

查看增量物化視圖-數據變更歷史

通過以下命令能查看增量物化視圖數據變化的記錄

show history for table incremental_mv;

//查詢結果
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

計費規則

增量物化視圖包含存儲和計算兩部分費用。與普通物化視圖操作計算存儲計費方式一致。

  • 計算費用

    • 創建或刷新增量物化視圖過程中,涉及到實際啟動作業計算的,會消耗計算資源產生計算費用,其計費規則和普通SQL作業一致。

    • 觸發自動刷新功能時,若無實際增量數據變化,則不會啟動SQL作業進行刷新操作,不產生費用。

    • 建議將增量物化視圖單獨放在某個Project中,方便跟蹤自動刷新的作業及其計算資源消耗和費用。

  • 存儲費用

    • 增量物化視圖和普通物化視圖或者普通表一樣,按照正常存儲計量計費。

    • 增量物化視圖對某些operator可能會采取基于state的增量計算算法,會產生內部state table消耗一定的存儲空間

    • 增量物化視圖需要增量CDC、Time Travel存儲開銷,這部分存儲開銷和普通Delta Table類似。