REFRESH(MATERIALIZED VIEW 或 STREAMING TABLE)
適用於: Databricks SQL
更新串流資料表或具體化檢視的資料。 根據預設,數據會同步重新整理。
您可以執行 DESCRIBE EXTENDED
來追蹤重新整理的狀態。
注意
具象化檢視和串流資料表的創建和更新作業是由無伺服器的 Delta Live Tables 管線驅動。 您可以使用目錄總管來檢視 UI 中備份管線的詳細數據。 請參閱 什麼是目錄總管?。
語法
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]
參數
-
識別要更新的具體化檢視或串流資料表。 名稱不得包含 時態規格或選項規格。 如果找不到物件,Azure Databricks 就會 引發TABLE_OR_VIEW_NOT_FOUND 錯誤。
FULL
是否要執行完整重新整理。
- 針對具體化檢視,完整重新整理會處理來源中所有可用的數據。
- 對於串流數據表,完整重新整理會截斷數據表,並使用串流數據表的最新定義來處理來源中可用的所有數據。
不建議對無法完整保留數據歷程記錄的來源,或者保留期間較短的來源,例如 Kafka,執行完整重新整理,因為這樣會截斷現有的數據。 如果資料來源中的資料不再可供使用,您可能無法復原舊資料。
SYNC
是否要執行同步重新整理。 命令會封鎖直到建立具體化檢視或串流數據表,以及初始數據載入完成為止。
此為預設行為。
異步
是否要執行非同步刷新,這會在 Delta Live Tables 上啟動背景工作。 此命令會在數據載入尚未完成時立即返回,並提供一個連結至支援具現化檢視或串流表的 Delta Live Tables 管線。 您可以瀏覽連結以檢視重新整理的狀態。
您必須指定
ASYNC
是否要執行異步重新整理。 如果未指定關鍵詞,則作業會以同步方式執行。
範例
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH TABLE cat.db.st_name FULL;