適用於: Databricks SQL
可讓您:
- 新增重新整理現有串流數據表的排程。
- 更改串流數據表的現有刷新排程。
- 刪除流式表的刷新排程。 如果卸除排程,則必須手動重新整理物件,以反映最新的數據。
若要在資料表或其資料行上加入或改變批註,請使用 COMMENT ON。
語法
ALTER STREAMING TABLE table_name
{
{ ADD | ALTER } SCHEDULE [ REFRESH ] schedule_clause |
DROP SCHEDULE |
ALTER COLUMN clause |
SET ROW FILTER clause |
DROP ROW FILTER |
SET TAGS clause |
UNSET TAGS clause |
}
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
接受的整數值。時間單位 整數值 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 ]
使用 quartz 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 [, ...] )
這很重要
這項功能目前處於 公開預覽版。
從串流數據表中移除標籤。 您必須具有
APPLY TAG
從串流數據表中移除標籤的許可權。tag_name
字面意義的
STRING
。 在tag_name
串流數據表或數據行內必須是唯一的。
範例
-- Adds a schedule to refresh the streaming table once a day
-- at midnight in Los Angeles
> ALTER STREAMING TABLE my_st
ADD SCHEDULE CRON '0 0 0 * * ? *' AT TIME ZONE 'America/Los_Angeles';
-- Alters the schedule to run every 15 minutes for a streaming table
> ALTER STREAMING TABLE my_st
ALTER SCHEDULE EVERY 15 MINUTES;
-- Drops the schedule for a streaming table
> ALTER STREAMING TABLE my_st
DROP SCHEDULE;