ALTER MATERIALIZED VIEW
适用于: Databricks SQL
更改与视图关联的元数据。
允许执行以下任一操作:
- 添加用于刷新现有具体化视图的计划。
- 更改具体化视图的现有刷新计划。
- 删除具体化视图的刷新计划。 如果删除了计划,则需要手动刷新对象以反映最新数据。
语法
ALTER MATERIALIZED VIEW view_name
{ schedule }
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 ] schedule_clause
允许向具体化视图添加计划或更改其计划。
EVERY number { HOUR | HOURS | DAY | DAYS | WEEK | WEEKS }
重要
此功能目前以公共预览版提供。
要安排定期进行的刷新,请使用
EVERY
语法。 如果指定了EVERY
语法,则会按照指定的间隔根据提供的值(如HOUR
、HOURS
、DAY
、DAYS
、WEEK
或WEEKS
)定期刷新流式处理表或具体化视图。 下表列出了number
可接受的整数值。Time unit 整数值 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 ]
使用 qartz cron 值安排刷新。 接受有效 time_zone_values。 不支持
AT TIME ZONE LOCAL
。如果
AT TIME ZONE
不存在,则使用会话时区。 如果AT TIME ZONE
不存在并且未设置会话时区,则会引发错误。SCHEDULE
在语义上等效于SCHEDULE REFRESH
。
示例
-- 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 15 minutes for a materialized view
> ALTER MATERIALIZED VIEW my_mv
ALTER SCHEDULE CRON '0 0/15 * * * ? *';
-- Drops the schedule for a materialized view
> ALTER MATERIALIZED VIEW my_mv
DROP SCHEDULE;