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

MaxCompute新推出增量物化視圖功能(Incremental Materialized View),幫助用戶構(gòu)建簡(jiǎn)單易用的增量更新Pipeline。本文為您介紹MaxCompute增量物化視圖的相關(guān)操作。

功能介紹

MaxCompute的增量物化視圖功能,它具備以下幾個(gè)特點(diǎn):

  • 聲明式SQL。

  • 增量全量一體化,統(tǒng)一的SQL、存儲(chǔ)和計(jì)算。

  • 自動(dòng)增量刷新,自定義數(shù)據(jù)新鮮度。

  • 通過級(jí)聯(lián)增量物化視圖,構(gòu)建簡(jiǎn)單易用的增量更新Pipeline。

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

image

前提條件

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

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

  • 增量物化視圖。增量物化視圖默認(rèn)已開啟CDC功能。

使用限制

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

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

    • AGGREGATE當(dāng)前僅支持以下常見函數(shù):SUM、COUNT、AVG、MIN、MAX。

    • JOIN當(dāng)前僅支持不發(fā)生變化的維表JOIN。

創(chuàng)建增量物化視圖

CREATE MATERIALIZED VIEW [IF NOT EXISTS][<project_name>.]<mv_name>
[LIFECYCLE <days>]    --指定生命周期
[BUILD DEFERRED]    -- 指定是在創(chuàng)建時(shí)只生成表結(jié)構(gòu),不生成數(shù)據(jù)
[(<col_name> [COMMENT <col_comment>],...)]    --列注釋
[DISABLE REWRITE]    --指定是否用于改寫
[refresh every 2 minutes]  --指定刷新周期
[COMMENT 'table comment']    --表注釋
[PARTITIONED ON/BY (<col_name> [, <col_name>, ...])    --創(chuàng)建物化視圖表為分區(qū)表
[TBLPROPERTIES(
  "compressionstrategy"="normal/high/extreme",    --指定表數(shù)據(jù)存儲(chǔ)壓縮策略
  "enable_auto_refresh"="true",    --指定是否開啟自動(dòng)刷新
  "refresh_mode"="incremental",    --指定刷新模式
  "only_refresh_max_pt"="true",    --針對(duì)分區(qū)物化視圖,只自動(dòng)刷新源表最新分區(qū)
  "refresh_cron"="xx"              --根據(jù)cron定時(shí)器,可以配置定時(shí)間隔更新或者定點(diǎn)更新,間隔定點(diǎn)更新等
              )]
AS <select_statement>;

增量物化視圖的語(yǔ)法幾乎兼容普通物化視圖的語(yǔ)法,目前存在以下差異:

  • 當(dāng)前不支持將增量物化視圖創(chuàng)建為聚簇表。

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

示例:創(chuàng)建一個(gè)簡(jiǎn)單的增量物化視圖。

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語(yǔ)法定義了一個(gè)名為mv1的增量物化視圖,每5分鐘自動(dòng)進(jìn)行一次增量刷新。其中source為一張開啟CDC功能的Delta Table。

增量刷新模式

相比普通物化視圖,您只需要增加以下屬性參數(shù),即可指定該物化視圖為增量物化視圖。

"refresh_mode"="incremental"

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

  • full:全量刷新,物化視圖的默認(rèn)刷新方式。

  • incremental:增量刷新。內(nèi)置增量計(jì)算能力,只對(duì)增量變化的部分進(jìn)行計(jì)算。

自動(dòng)刷新頻率

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

  • 通過refresh every xx minutes語(yǔ)法來指定刷新調(diào)度間隔,最小值為1分鐘。

    refresh every 2 minutes
  • 通過在TBLPROPERTIES中指定cron表達(dá)式來設(shè)置刷新頻率,根據(jù)cron定時(shí)器,可以配置定時(shí)間隔更新、定點(diǎn)更新或間隔定點(diǎn)更新等。其中refresh_cron對(duì)應(yīng)的參數(shù)是QUARTZ Cron格式的字符串,使用詳情請(qǐng)參見Cron expression examples

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

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

管理和可觀測(cè)

刪除增量物化視圖

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

手動(dòng)刷新增量物化視圖

增量物化視圖也提供手動(dòng)刷新能力,語(yǔ)法和普通物化視圖相同:

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

ds:指分區(qū)列。

關(guān)閉自動(dòng)刷新

通過修改物化視圖的TBLPROPERTIES參數(shù),可以關(guān)閉自動(dòng)刷新功能。命令如下:

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

恢復(fù)自動(dòng)刷新

通過修改物化視圖的TBLPROPERTIES參數(shù),可以打開或者恢復(fù)自動(dòng)刷新。

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參數(shù)最小取值為1,建議該值小于base table的CDC生命周期。

計(jì)費(fèi)規(guī)則

增量物化視圖包含存儲(chǔ)和計(jì)算兩部分費(fèi)用。與普通物化視圖操作計(jì)算存儲(chǔ)計(jì)費(fèi)方式一致。

  • 計(jì)算費(fèi)用

    • 創(chuàng)建或刷新增量物化視圖過程中,涉及到實(shí)際啟動(dòng)作業(yè)計(jì)算的,會(huì)消耗計(jì)算資源產(chǎn)生計(jì)算費(fèi)用,其計(jì)費(fèi)規(guī)則和普通SQL作業(yè)一致。

    • 觸發(fā)自動(dòng)刷新功能時(shí),若無實(shí)際增量數(shù)據(jù)變化,則不會(huì)啟動(dòng)SQL作業(yè)進(jìn)行刷新操作,不產(chǎn)生費(fèi)用。

    • 建議將增量物化視圖單獨(dú)放在某個(gè)Project中,方便跟蹤自動(dòng)刷新的作業(yè)及其計(jì)算資源消耗和費(fèi)用。

  • 存儲(chǔ)費(fèi)用

    • 增量物化視圖和普通物化視圖或者普通表一樣,按照正常存儲(chǔ)計(jì)量計(jì)費(fèi)。

    • 增量物化視圖對(duì)某些operator可能會(huì)采取基于state的增量計(jì)算算法,會(huì)產(chǎn)生內(nèi)部state table消耗一定的存儲(chǔ)空間

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