教程:创建第一个表并授予权限

本文将快速演练如何使用 Unity Catalog 数据治理模型在 Azure Databricks 中创建表并授予权限。 从 2023 年 11 月 9 日开始,新帐户中的工作区会自动为 Unity Catalog 启用,并包括所有用户完成本教程所需的权限。

如果不确定是否为 Unity Catalog 启用了工作区,请参阅设置和管理 Unity Catalog。 若要熟悉 Unity Catalog 数据对象,请参阅什么是 Unity Catalog

本文主要面向用户,但刚接手工作区管理工作的管理员也可能适用。

开始之前的准备工作

要执行本文中所述的任务,必须具有:

  • 自动为 Unity Catalog 启用的 Azure Databricks 工作区。
  • 附加到计算资源的权限。 请参阅使用计算

创建第一个表

Unity Catalog 包含数据对象的三级命名空间:catalog.schema.table。 此示例将运行一个笔记本,该笔记本在工作区目录和 default 架构(数据库)中创建一个名为 department 的表。

注意

工作区目录是使用所有用户有权访问的工作区创建的默认目录。 名称与工作区的名称相同。

可以使用 SQL 或 Databricks Explorer UI 以声明方式定义对表的访问:

  1. 在边栏中,单击“+ 新建”>“笔记本”

  2. 选择 SQL 作为笔记本语言。

  3. 单击“连接”并将笔记本附加到计算资源

  4. 将以下命令添加到笔记本并运行它们(将 <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');
    
  5. 在边栏中,单击 “目录”图标“目录”,然后搜索工作区目录 (<workspace-name>) 和 default 架构,将在其中找到新 department 表。

使用目录资源管理器在工作区目录中查找表

管理表的权限

作为原始的表创建者,你是表的所有者,并可以授予其他用户读取或写入表的权限。 你甚至可以转移所有权,但此处我们不会这样做。 有关 Unity Catalog 特权和权限模型的详细信息,请参阅在 Unity Catalog 中管理特权

使用 UI 授予权限

使用 UI 向用户授予对表的权限:

  1. 单击目录资源管理器中的表名称以打开表详细信息页,然后转到“权限”选项卡
  2. 单击“授予”
  3. 在“授予对象”对话框中
    1. 选择要向其授予权限的用户和组。
    2. 选择要授予的特权。 对于此示例,请分配SELECT(读取)权限并点击“授予”。

使用 SQL 语句授予权限

还可以在 Azure Databricks 笔记本或 SQL 查询编辑器中使用以下 SQL 语句授予这些权限。 在此示例中,为表上的“data-consumers”组授予权限:

GRANT SELECT ON default.department TO `data-consumers`;

后续步骤

了解有关以下方面的详细信息: