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

Dynamic Table支持范圍和限制

您可以使用Dynamic Table實現更高效、低成本的數據自動流動與分層,本文為您介紹Dynamic Table的支持范圍與使用限制。

通用限制

Dynamic Table本身的限制

  • Hologres實例必須為V3.0及以上版本。

  • Dynamic Table表屬性的限制:不支持設置主鍵、字段默認值,引擎會自動推導表的索引,您也可以根據業務情況自行設置。

  • 僅支持全量刷新和增量刷新兩種模式,不同模式的支持范圍和使用限制不同,具體請參見全量刷新增量刷新

對Dynamic Table執行DDL、DML等操作的限制

操作

是否支持

CREATE DYNAMIC TABLE

RENAME DYNAMIC TABLE

RENAME DYNAMIC TABLE Column

SELECT

Refresh

  • 支持Refresh非分區表和分區子表。

  • 不支持Refresh分區父表。

DROP DYNAMIC TABLE

DROP DYNAMIC TABLE Column

TRUNCATE DYNAMIC TABLE

DML(INSERT/UPDATE/DELETE) DYNAMIC TABLE

ADD Column

Resharding

CREATE TABLE AS/LIKE

使用Dynamic Table的相關權限要求

操作

權限要求

CREATE DYNAMIC TABLE

  • Create Table權限。

  • 基表的Select權限。

ALTER DYNAMIC TABLE

  • Create Table權限。

  • 基表的Select權限。

DROP DYNAMIC TABLE

Dynamic Table的表Owner。

SELECT DYNAMIC TABLE

Dynamic Table的Select權限。

REFRESH DYNAMIC TABLE

Dynamic Table的DML權限。

說明

不支持Refresh分區父表。

對Dynamic Table的授權,詳情請參見Hologres權限模型概述

全量刷新

如果Dynamic Table設置的是全量刷新模式,支持的功能和使用限制如下:

支持的功能

  • 基表的支持:與普通Hologres表的功能相同,支持Hologres內部表、外部表(MaxCompute、DLF和Paimon等)作為Dynamic Table的基表,創建Dynamic Table時需要具備對應基表的訪問權限,詳情請參見Dynamic Table權限

  • Query的支持:當前Hologres支持的函數、SQL表達式、數據類型等,全量刷新模式都能支持。

  • 刷新資源的支持:默認使用Serverless資源執行刷新任務,您也可以調整為本實例資源。

使用限制

  • 暫不支持自動創建分區。

  • 不支持將全量刷新模式轉換為增量刷新模式。

增量刷新

如果Dynamic Table設置的是增量刷新模式,支持的功能和使用限制如下:

支持的功能

  • 基表的支持:僅支持Hologres內部表、Paimon外部表和Dynamic Table,創建Dynamic Table時需要有對應基表的訪問權限。

  • Query的支持:

    • 任意標量表達式。

    • WHERE條件。

    • GROUP BY、CUBE、GROUPING SETS和HAVING語句,支持的聚合函數:COUNT、SUM、MIN/MAX、COUNT DISTINCT。

    • Agg Filter。

    • 子查詢、CTE。

    • UNION ALL/UNION。

    • UNNEST。

    • 維表等值JOIN(INNER JOIN/LEFT JOIN),且必須使用FOR SYSTEM_TIME AS OF PROCTIME()的方式。

  • 刷新資源的支持:默認使用Serverless資源執行刷新任務,可以調整為本實例資源。

  • 支持將增量刷新轉換為全量刷新。

使用限制

  • 基表的限制:創建增量Dynamic Table時,基表必須開啟Binlog,維表無需開啟。開啟Binlog的操作請參見訂閱Hologres Binlog

  • Query的限制:

    • 不支持非維表JOIN,即OLAP中的普通JOIN,或者Flink中的雙流JOIN。

      說明

      維表JOIN的語義是:對每條數據,只會關聯當時維表的最新版本數據,即JOIN行為只發生在處理時間(Processing Time)。如果JOIN行為發生后,維表中的數據發生了變化(新增、更新或刪除),則已關聯的維表數據不會被同步更新。

    • 不支持窗口函數。

    • 不支持IN 子查詢。

    • 不支持EXISTS或NOT EXISTS。

    • 不支持EXCEPT或INTERSECT。

    • 不支持ORDER BY。

    • 不支持LIMIT或OFFSET。

    • 不支持RoaringBitmap相關函數。

  • 對于分區Dynamic Table,暫不支持自動創建分區。

基表操作對Dynamic Table的影響

基表操作

Dynamic Table的表現

RENAME <basetable_name>

  • 查詢Dynamic Table正常執行。

  • Refresh報錯。

RENAME <基表中Dynamic Table未使用的列名>

  • 查詢Dynamic Table正常執行。

  • Refresh正常執行。

RENAME <基表中Dynamic Table使用的列名>

  • 查詢Dynamic Table正常執行。

  • Refresh正常執行。

DROP <basetable_name>

  • DROP報錯。

  • Dynamic Table正常執行。

DROP <basetable_name> CASCADE

Dynamic Table一并被刪除,任務也被取消。

DROP <基表中Dynamic Table未使用的列>

  • 查詢Dynamic Table正常執行。

  • Refresh正常執行。

DROP <基表中Dynamic Table使用的列>

DROP報錯。

TRUNCATE <basetable_name>

  • 在Dynamic Table執行Refresh前TRUNCATE 基表,查詢Dynamic Table有數據。

  • 在Dynamic Table執行Refresh后TRUNCATE 基表,查詢Dynamic Table沒數據。

INSERT/DELETE/UPDATE/UPSERT <basetable_name>

INSERT/DELETE/UPDATE/UPSERT Dynamic Table。