ALTER DYNAMIC TABLE
Dynamic Table支持修改部分屬性。本文為您介紹Alter Dynamic Table用法。
修改刷新任務(wù)
暫停刷新任務(wù)
設(shè)置暫停后,此表后續(xù)所有的刷新任務(wù)都會(huì)停止運(yùn)行。
-- auto_refresh_enable:是否開啟自動(dòng)刷新。false:暫停不開啟。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema_name>.]<table_name> SET (auto_refresh_enable = false);
重新啟動(dòng)刷新任務(wù)
對(duì)于已暫停的表刷新任務(wù),支持重新啟動(dòng)。啟動(dòng)后,將沿用原有的表刷新設(shè)置,重新執(zhí)行刷新任務(wù)。
-- auto_refresh_enable:是否開啟自動(dòng)刷新。true:開啟。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema_name>.]<table_name> SET (auto_refresh_enable = true);
修改刷新模式
當(dāng)前僅支持增量刷新修改為全量刷新。
修改為全量刷新模式后,會(huì)將原有的增量刷新任務(wù)停止。請(qǐng)根據(jù)業(yè)務(wù)需要,重新設(shè)置刷新開始時(shí)間和刷新間隔。
系統(tǒng)會(huì)自動(dòng)將增量刷新的狀態(tài)表清理掉,減少存儲(chǔ)占用。
--修改刷新模式refresh_mode,只能增量(incremental)刷新改為全量(full)刷新。
ALTER [DYNAMIC] TABLE <schema_name>.<table_name> SET (refresh_mode = 'full');
修改刷新開始時(shí)間
修改刷新的開始時(shí)間,只能修改為一個(gè)未來的指定時(shí)間。
--修改刷新的開始時(shí)間full_auto_refresh_schd_start_time。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (<incremental/full>_auto_refresh_schd_start_time = '<timestamptz>');
修改刷新時(shí)間間隔
支持修改Dynamic Table的刷新時(shí)間間隔。修改后的刷新任務(wù)將會(huì)使用新設(shè)置的刷新間隔執(zhí)行。
--修改刷新的時(shí)間間隔full_auto_refresh_interval,如三分鐘為'3 minutes'。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (<incremental/full>_auto_refresh_interval = '[<num> { minutes | hours}]');
修改刷新計(jì)算資源和規(guī)格
支持修改刷新的計(jì)算資源,可以選擇本實(shí)例資源(local)或者Serverless資源(serverles)。如果是Serverles資源,支持修改計(jì)算規(guī)格。可以根據(jù)業(yè)務(wù)情況適當(dāng)?shù)恼{(diào)大/調(diào)小刷新的規(guī)格,但實(shí)例能使用的規(guī)格有一定的限制,詳情請(qǐng)參見Serverles Computing使用指南。
--修改單個(gè)表的refresh資源
ALTER [DYNAMIC] TABLE [ IF EXISTS ] [<schema>.]<table_name>
SET <incremental/full>_guc_hg_computing_resource ='[local|serverless]'
--如果是serverless模式,還可以修改serverless的計(jì)算規(guī)格
ALTER DYNAMIC TABLE [ IF EXISTS ] [<schema>.]<table_name>
SET <incremental/full>_guc_hg_experimental_serverless_computing_required_cores='<num>'
修改Query定義
Dynamic Table支持修改Query定義。
修改Query定義后,只會(huì)修改表的Query定義,并不會(huì)修改原來的字段名、字段屬性等。
請(qǐng)謹(jǐn)慎執(zhí)行修改Query定義,如果新query的字段跟原字段不一致,可能會(huì)導(dǎo)致refresh報(bào)錯(cuò),或者可能會(huì)出現(xiàn)數(shù)據(jù)不一致等問題。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (task_definition = '<new_query>');
修改Dynamic Table表屬性
Dynamic Table支持修改表屬性,但僅支持修改如下屬性,其余未列出的暫不支持修改。詳情請(qǐng)參見ALTER TABLE。
--重命表名
ALTER TABLE [IF EXISTS] <name> RENAME TO <new_name>;
--修改定義
ALTER [DYNAMIC] TABLE [IF EXISTS] <name> SET TASK_DEFINITION = 'select xxx';
--修改dictionary
ALTER [DYNAMIC] TABLE [<schema_name>].<table_name> SET (dictionary_encoding_columns = '[columnName{:[on|off|auto]}[,...]]');
--修改bitmap
ALTER [DYNAMIC] TABLE [<schema_name>].<table_name> SET (bitmap_columns = '[columnName{:[on|off]}[,...]]');
--修改TTL
ALTER [DYNAMIC] TABLE [<schema_name>].<table_name> SET (time_to_live_in_seconds = 'num');
--修改schema
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET SCHEMA <new_schema>;