REFRESH(MATERIALIZED VIEW 或 STREAMING TABLE)

适用于: 勾选“是” Databricks SQL

刷新流式处理表或具体化视图的数据。 默认情况下,数据会同步刷新。 可以通过执行 DESCRIBE EXTENDED 来跟踪刷新状态。

注意

无服务器 Delta Live Tables 管道支持对具体化视图和流式处理表进行的创建和刷新操作。 可以使用目录资源管理器在 UI 中查看有关支持管道的详细信息。 请参阅什么是目录资源管理器?

语法

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

参数

  • table_name

    标识要刷新的具体化视图或流式处理表。 名称不得包含时态规范。 如果找不到对象,Azure Databricks 会引发 TABLE_OR_VIEW_NOT_FOUND 错误。

  • FULL

    是否执行完全刷新。

    • 对于具体化视图,完全刷新将处理源中的所有可用数据。
    • 对于流式处理表,完全刷新会截断表并使用流式处理表的最新定义处理源中的所有可用数据。

    不建议对不保留整个数据历史记录或保留期较短的源(如 Kafka)调用完全刷新,因为完全刷新会截断现有数据。 如果数据在源中不再可用,则可能无法恢复旧数据。

  • 同步

    是否执行同步刷新。 在创建具体化视图或流式处理表并完成初始数据加载之前,该命令会阻塞。

    这是默认行为。

  • 异步

    是否执行异步刷新,这会在增量实时表上启动后台作业。 该命令将在数据加载完成之前立即返回,其中包含指向支持具体化视图或流式处理表的增量实时表管道的链接。 可以访问此链接以查看刷新状态。

    如果要执行异步刷新,则必须指定 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;