本教程提供了使用 Unity 目录数据治理模型在 Azure Databricks 中创建表和授予特权的快速演练。 从 2023 年 11 月 9 日开始,新帐户中的工作区会自动为 Unity Catalog 启用,并包括所有用户完成本教程所需的权限。
如果不确定是否为 Unity Catalog 启用了工作区,请参阅开始使用 Unity Catalog。 若要熟悉 Unity Catalog 数据对象,请参阅什么是 Unity Catalog。
本文主要面向用户,但刚接手工作区管理工作的管理员也可能适用。
开始之前
要执行本文中所述的任务,必须具有:
- 自动为 Unity Catalog 启用的 Azure Databricks 工作区。
- 附加到计算资源的权限。 请参阅 经典计算概述。
步骤 1:创建第一个表
Unity Catalog 包含数据对象的三级命名空间:catalog.schema.table。 此示例将运行一个笔记本,该笔记本在工作区目录和 department 架构(数据库)中创建一个名为 default 的表。
注意
工作区目录是使用所有用户有权访问的工作区创建的默认目录。 名称与工作区的名称相同。
可以使用 SQL 或 Databricks Explorer UI 以声明方式定义对表的访问:
- 在边栏中,单击“+ 新建”“笔记本”>。 
- 选择 - SQL作为笔记本语言。
- 单击“连接”并将笔记本附加到计算资源。 
- 将以下命令添加到笔记本并运行它们(将 - <workspace-catalog>替换为你的工作区目录的名称):- USE CATALOG <workspace-catalog>- CREATE TABLE IF NOT EXISTS default.department ( deptcode INT, deptname STRING, location STRING );- INSERT INTO default.department VALUES (10, 'FINANCE', 'EDINBURGH'), (20, 'SOFTWARE', 'PADDINGTON');
- 在边栏中,单击 - 目录 ,然后搜索工作区目录( - <workspace-name>)和- default架构,可在其中找到新- department表。
               
              
            
步骤 2:管理表的权限
作为原始的表创建者,你是表的所有者,并可以授予其他用户读取或写入表的权限。 你甚至可以转移所有权,但此处我们不会这样做。 有关 Unity Catalog 特权和权限模型的详细信息,请参阅在 Unity Catalog 中管理特权。
使用 UI 授予权限
使用 UI 向用户授予对表的权限:
- 单击目录资源管理器中的表名称以打开表详细信息页,然后转到“权限”选项卡。 
- 单击“授予”。 
- 在“Grant on”对话框中: - 选择要向其授予权限的用户和组。 
- 选择要授予的特权。 对于此示例,请分配 - SELECT(读取)权限并点击“授予”。
 
使用 SQL 语句授予权限
还可以在 Azure Databricks 笔记本或 SQL 查询编辑器中使用以下 SQL 语句授予这些权限。 在此示例中,为表上的“data-consumers”组授予权限:
GRANT SELECT ON default.department TO `data-consumers`;
后续步骤
了解有关以下方面的详细信息: