教程:创建第一个表并授予权限
本文将快速演练如何使用 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 以声明方式定义对表的访问:
在边栏中,单击“+ 新建”>“笔记本”。
选择
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
表。
管理表的权限
作为原始的表创建者,你是表的所有者,并可以授予其他用户读取或写入表的权限。 你甚至可以转移所有权,但此处我们不会这样做。 有关 Unity Catalog 特权和权限模型的详细信息,请参阅在 Unity Catalog 中管理特权。
使用 UI 授予权限
使用 UI 向用户授予对表的权限:
- 单击目录资源管理器中的表名称以打开表详细信息页,然后转到“权限”选项卡。
- 单击“授予”。
- 在“授予对象”对话框中:
- 选择要向其授予权限的用户和组。
- 选择要授予的特权。 对于此示例,请分配
SELECT
(读取)权限并点击“授予”。
使用 SQL 语句授予权限
还可以在 Azure Databricks 笔记本或 SQL 查询编辑器中使用以下 SQL 语句授予这些权限。 在此示例中,为表上的“data-consumers
”组授予权限:
GRANT SELECT ON default.department TO `data-consumers`;
后续步骤
了解有关以下方面的详细信息: