Dynamic Table支援修改部分屬性。本文為您介紹Alter Dynamic Table用法。
修改重新整理任務
暫停重新整理任務
設定暫停後,此表後續所有的重新整理任務都會停止運行。
-- auto_refresh_enable:是否開啟自動重新整理。false:暫停不開啟。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema_name>.]<table_name> SET (auto_refresh_enable = false);
重新啟動重新整理任務
對於已暫停表重新整理任務,支援重新啟動。啟動後,將沿用原有的表重新整理設定,重新執行重新整理任務。
-- auto_refresh_enable:是否開啟自動重新整理。true:開啟。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema_name>.]<table_name> SET (auto_refresh_enable = true);
修改重新整理模式
當前僅支援增量重新整理修改為全量重新整理。
說明
修改為全量重新整理模式後,會將原有的增量重新整理任務停止。請根據業務需要,重新設定重新整理開始時間和重新整理間隔。
系統會自動將增量重新整理的狀態表清理掉,減少儲存佔用。
--修改重新整理模式refresh_mode,只能增量(incremental)重新整理改為全量(full)重新整理。
ALTER [DYNAMIC] TABLE <schema_name>.<table_name> SET (refresh_mode = 'full');
修改重新整理開始時間
修改重新整理的開始時間,只能修改為一個未來的指定時間。
--修改重新整理的開始時間full_auto_refresh_schd_start_time。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (<incremental/full>_auto_refresh_schd_start_time = '<timestamptz>');
修改重新整理時間間隔
支援修改Dynamic Table的重新整理時間間隔。修改後的重新整理任務將會使用新設定的重新整理間隔執行。
--修改重新整理的時間間隔full_auto_refresh_interval,如三分鐘為'3 minutes'。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (<incremental/full>_auto_refresh_interval = '[<num> { minutes | hours}]');
修改重新整理計算資源和規格
支援修改重新整理的計算資源,可以選擇本執行個體資源(local)或者Serverless資源(serverles)。如果是Serverles資源,支援修改計算規格。可以根據業務情況適當的調大/調小重新整理的規格,但執行個體能使用的規格有一定的限制,詳情請參見Serverles Computing使用指南。
--修改單個表的refresh資源
ALTER [DYNAMIC] TABLE [ IF EXISTS ] [<schema>.]<table_name>
SET <incremental/full>_guc_hg_computing_resource ='[local|serverless]'
--如果是serverless模式,還可以修改serverless的計算規格
ALTER DYNAMIC TABLE [ IF EXISTS ] [<schema>.]<table_name>
SET <incremental/full>_guc_hg_experimental_serverless_computing_required_cores='<num>'
修改Query定義
Dynamic Table支援修改Query定義。
說明
修改Query定義後,只會修改表的Query定義,並不會修改原來的欄位名、欄位屬性等。
請謹慎執行修改Query定義,如果新query的欄位跟原欄位不一致,可能會導致refresh報錯,或者可能會出現資料不一致等問題。
ALTER [DYNAMIC] TABLE [IF EXISTS] [<schema>.]<table_name> SET (task_definition = '<new_query>');
修改Dynamic Table表屬性
Dynamic Table支援修改表屬性,但僅支援修改如下屬性,其餘未列出的暫不支援修改。詳情請參見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>;