创建和管理视图

本页演示如何在 Unity 目录中创建视图。 请参阅什么是视图?

所需的权限

若要创建视图,请执行以下操作:

  • 你必须具有对父目录的 USE CATALOG 权限和对父架构的 USE SCHEMACREATE TABLE 权限。 元存储管理员或目录所有者可以向您授予所有这些权限。 架构所有者或具有 MANAGE 权限的用户可以向你授予该架构上的 USE SCHEMACREATE TABLE 权限。
  • 您必须能够读取该视图中引用的表和视图(即对表或视图具有 SELECT,对目录具有 USE CATALOG,并对架构具有 USE SCHEMA)。
  • 如果视图引用工作区本地 Hive 元存储中的表,则只能从包含工作区本地表的工作区访问视图。 因此,Databricks 建议仅从 Unity Catalog 元存储中的表或视图创建视图。

若要读取视图,所需的权限取决于计算类型、Databricks Runtime 版本和访问模式。 请参阅查询视图的要求

若要更新视图定义或说明,您必须是视图的所有者。 拥有 MANAGE 权限是不够的。 有关详细信息,请参阅 ALTER VIEWCOMMENT ON 参考页。

创建视图

若要创建视图,请在 SQL 编辑器 或附加到计算的 笔记本 中运行以下 SQL 命令。 括号中的项是可选的。 替换占位符值

  • <catalog-name>:目录的名称。
  • <schema-name>:架构的名称。
  • <view-name>:视图的名称。
  • <query>:用于组成视图的查询、列、表和视图。
CREATE VIEW <catalog-name>.<schema-name>.<view-name> AS
SELECT <query>;

例如,要基于 sales_redacted 表中的列创建名为 sales_raw 的视图:

CREATE VIEW sales_metastore.sales.sales_redacted AS
SELECT
  user_id,
  email,
  country,
  product,
  total
FROM sales_metastore.sales.sales_raw;

还可以使用 Databricks Terraform 提供程序databricks_table 创建视图。 可以使用 databricks_views 检索视图全名列表。

删除视图

要删除视图,您必须是视图的所有者,或者在视图上拥有MANAGE权限。 若要删除视图,请运行以下 SQL 命令:

DROP VIEW IF EXISTS catalog_name.schema_name.view_name;