本页介绍了创建和刷新独立物化视图及流式表的要求。
您可以使用 SQL 仓库创建和刷新独立的实体化视图和流式表。 若要提交 CREATE 和 REFRESH 语句,请使用 Azure Databricks UI、Databricks SQL CLI 或 Databricks SQL API 中的 SQL 编辑器。
您还可以在无服务器通用计算(Beta 版,仅在部分区域可用)上运行的笔记本中创建和刷新独立的物化视图和流表。 请参阅 笔记本电脑。
一般要求
以下要求适用于所有独立管道。
您必须具备:
- 启用了无服务器的 Azure Databricks 帐户。 请参阅 设置无服务器 SQL 仓库。
- 一个启用了 Unity Catalog 的工作区。 请参阅 Unity 目录入门。
创建或刷新的权限
所有者(创建表的用户)必须具有以下权限:
-
SELECT对基表的权限。 -
USE CATALOG和USE SCHEMA对包含源表的目录和架构的权限。 - 对目标目录和架构具有
USE CATALOG和USE SCHEMA权限。 -
CREATE MATERIALIZED VIEW对包含具体化视图的架构的权限。 -
CREATE TABLE对包含流式表的架构模式的权限。 使用 旧版发布模式 的管道还需要CREATE TABLE具体化视图的权限。
要刷新独立的物化视图或流式表:
- 你必须在创建它的工作区中。
- 必须对表拥有
REFRESH特权。 所有者隐式拥有此权限。
源表要求
对于基于 Delta 表的物化视图的增量刷新,源表必须启用行跟踪。
SQL 仓库
若要使用 SQL 仓库创建或刷新独立的物化视图和流式表,您必须拥有一个已启用 Unity Catalog 的 Pro 或无服务器 SQL 仓库。
- 工作区必须位于支持无服务器 SQL 仓库的区域。
Notebooks
您可以通过笔记本使用无服务器常规计算来创建和刷新独立的物化视图和流式表。
无服务器常规计算
您可以从连接到无服务器通用计算的笔记本中创建和刷新独立的物化视图和流式表。 如果要与其他基于笔记本的工作流一起定义和运行具体化视图或流式处理表,而无需预配 SQL 仓库,此选项非常有用。
无服务器常规计算要求
- 连接到无服务器通用计算的笔记本。
- Databricks Runtime 18.1 或更高版本。 交互式笔记本会自动满足此要求;而固定到较旧版本的作业则不会。
- 工作区必须位于受支持的区域。
局限性
- 只有表的所有者才能刷新该表。 若要允许其他用户刷新,请更改所有者。 请参阅 更改流式表的所有者 和 更改物化视图的所有者。
- 不支持异步刷新。 请改用同步刷新。
- 不支持预览频道。 在无服务器常规计算上创建的表使用
current通道。 - 只能使用创建表的计算类型来刷新表。 在 SQL 仓库上创建的表必须在 SQL 仓库上刷新,在无服务器常规计算上创建的表必须在无服务器常规计算上刷新。 若要检查计算类型,请在 目录资源管理器中查看表。
- 成本归属和控制不可用。 如果您需要按表进行成本归因,请使用 SQL 仓库。
- 发生内存不足错误时,不支持垂直自动缩放。
- 架构升级不支持重试。
- 刷新时无法选择性能模式。 请参阅 选择计划刷新的性能模式。
Note
在无服务器通用计算上于笔记本中运行刷新时,支持 spark.sql。
:::
查询要求
若要查询独立物化视图或流式表,你必须是所有者,或者必须对该表具有 SELECT 权限,并对其父级具有 USE CATALOG 和 USE SCHEMA 权限。
必须使用以下计算资源之一:
- SQL 仓库
- Lakeflow Spark 声明性管道接口
- 标准访问模式计算(以前共享访问模式)
- 如果工作区已启用无服务器计算,则可在 Databricks Runtime 15.4 或更高版本上使用专用访问模式计算(以前称为单用户访问模式)。 如果你是所有者,则可以使用运行 Databricks Runtime 14.3 或更高版本的专用访问模式计算。
对于 Databricks Runtime 15.3 及以下版本上的流式表,只有在您拥有该表时,才能使用专用计算查询该流式表。 Databricks Runtime 15.4 LTS 及更高版本支持在专用计算中查询管道生成的表,即使你不是所有者也是如此。 使用专用计算运行数据筛选操作时,可能会对无服务器计算资源收费。
区域可用性
使用 Databricks SQL 仓库创建和刷新的表在所有支持无服务器 Databricks SQL 仓库的区域都可用。
在无服务器通用计算环境中创建和刷新独立物化视图及流式表仅在部分区域可用。
有关这两个计算选项支持的区域列表,请参阅 无服务器可用性。