分享方式:


重新整理 (具體化檢視和串流資料表)

適用於: 檢查標示為是 Databricks SQL

重要

這項功能處於公開預覽狀態

重新整理串流數據表或具體化檢視的數據。 根據預設,數據會同步重新整理。 您可以執行 DESCRIBE EXTENDED來追蹤重新整理的狀態。

語法

REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name [ FULL | { SYNC | ASYNC }]

參數

  • table_name

    識別要重新整理的具體化檢視或串流數據表。 名稱不得包含 時態規格。 如果找不到物件,Azure Databricks 就會 引發TABLE_OR_VIEW_NOT_FOUND 錯誤。

  • FULL

    是否要執行完整重新整理,這會截斷數據表,並使用串流數據表的最新定義來處理來源中可用的所有數據。 具體化檢視不支援完整重新整理。

    不建議呼叫來源的完整重新整理,這些來源不會保留整個數據歷程記錄,或有較短的保留期間,例如 Kafka,因為完整重新整理會截斷現有的數據。 如果來源中不再提供數據,您可能無法復原舊數據。

  • 同步

    是否要執行同步重新整理。 命令會封鎖直到建立具體化檢視和初始數據載入完成為止。

    此為預設行為。

  • 異步

    是否要執行異步重新整理,這會在 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;