適用於: Databricks SQL
修改與視圖相關聯的元數據。
可讓您執行下列任何動作:
- 新增重新整理現有具體化檢視的排程。
- 變更實體化視圖的現有重新整理計畫。
- 移除具體化檢視的重新整理排程。 如果排程被取消,則必須手動更新物件,以反映最新的數據。
若要在檢視或其資料行上加入或改變批注,請使用 COMMENT ON。
語法
ALTER MATERIALIZED VIEW view_name
{ schedule |
ALTER COLUMN clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause }
schedule
{
{ ADD | ALTER } SCHEDULE [ REFRESH ]
schedule_clause |
DROP SCHEDULE
}
schedule_clause
{ EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS } |
CRON cron_string [ AT TIME ZONE timezone_id ] }
參數
SCHEDULE [ REFRESH ]
時間表條款可讓您在具體化檢視中新增或修改排程。
EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }
若要排程定期發生的重新整理,請使用
EVERY
語法格式。 如果指定了EVERY
語法,串流數據表或實體化檢視將根據提供的值,例如HOUR
、HOURS
、DAY
、DAYS
、WEEK
或WEEKS
,按照指定的時間間隔進行定期刷新。 下表列出number
接受的整數值。時間單位 整數值 HOUR or HOURS
1 <= H <= 72 DAY or DAYS
1 <= D <= 31 WEEK or WEEKS
1 <= W <= 8 注意
內含時間單位的單數和複數形式在語意上相等。
CRON cron_string [ AT TIME ZONE timezone_id ]
使用 石英排程器的 cron 值來排程重新整理。 有效的 time_zone_values 會被接受。 不支援
AT TIME ZONE LOCAL
。如果
AT TIME ZONE
不存在,則會使用工作階段時區。 如果AT TIME ZONE
不存在且未設定會話時區,則會擲回錯誤。SCHEDULE
在語意上相當於SCHEDULE REFRESH
。
-
這很重要
這項功能目前處於 公開預覽版。
變更數據行的屬性。
SET
ROW FILTER 條款這很重要
這項功能目前處於 公開預覽版。
將數據列篩選函式加入具體化檢視。 具體化檢視的所有後續查詢都會接收函數評估為布爾值
TRUE
的數據列子集。 這對於精細訪問控制用途很有用,其中函式可以檢查叫用使用者的身分識別或群組成員資格,以判斷是否要篩選特定數據列。DROP ROW FILTER
這很重要
這項功能目前處於 公開預覽版。
如果有的話,從具體化檢視卸除數據列篩選。 未來的查詢將會從資料表傳回所有資料列,而不需要任何自動篩選。
SET TAGS ( { tag_name = tag_value } [, ...] )
這很重要
這項功能目前處於 公開預覽版。
將標籤套用至具體化檢視。 您必須擁有
APPLY TAG
將標籤新增至具體化檢視的許可權。tag_name
字面意義的
STRING
。 在具體化檢視或資料欄中,tag_name
必須是唯一的。tag_value
字面意義的
STRING
。
UNSET TAGS ( tag_name [, ...] )
這很重要
這項功能目前處於 公開預覽版。
從具體化檢視中移除標記。 您必須具有許可權,才能從具現化視圖中移除標籤。
tag_name
字面意義的
STRING
。 在具體化檢視或資料欄中,tag_name
必須是唯一的。
範例
-- Adds a schedule to refresh a materialized view once a day
-- at midnight in Los Angeles
> ALTER MATERIALIZED VIEW my_mv
ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Alters the schedule to run every two hours for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE EVERY 2 HOURS;
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;