教程:统一目录亚存储管理任务Databricks SQL

本教程指导Databricks metastore管理员通过所有必要的步骤配置目录,数据库,和表与Unity目录。您将使用数据浏览器界面完成所有步骤。

作为Unity Catalog的metastore管理员,你可以配置访问Unity Catalog中与metastore相关的所有安全对象。Databricks帐户管理员可以在帐户控制台中分配metastore管理员角色。虽然许多metastore管理员也可能是Databricks帐户管理员或Databricks工作空间管理员,但这些角色的默认权限各不相同。

本文演示了以下内容:

  1. 使用数据资源管理器发现数据对象

  2. 在Unity catalog中创建一个目录

  3. 在Unity目录中创建数据库

  4. 上传一个CSV以在Unity Catalog中创建一个表

  5. 管理目录、数据库和表的权限

需求

为了成功完成本演示,您需要:

  • 启用了Unity目录的Databricks工作空间

  • 在Databricks帐户控制台中定义的metastore的管理权限

  • 在与metastore相关的工作空间中访问Databricks SQL

  • 在Unity Catalog中定义的一个或多个用户或组

Metastore管理权限使您能够使用Metastore中的所有数据对象。通过与另一个没有metastore管理权限的Databricks SQL用户一起学习本教程,您可以看到更改授权如何立即更新对不同资产的各种操作的访问。

步骤1:导航到数据资源管理器UI并查看数据对象

您可以使用数据资源管理器查看目录、数据库、表和视图。Unity Catalog有两层嵌套:目录包含数据库,数据库包含表和视图。您可以使用数据资源管理器单击这些数据对象的名称,以查看其中包含的对象,获得数据预览,并查看元数据和访问授权。

  1. 使用侧栏中的角色切换器来选择SQL的角色。

  2. 点击数据图标数据在侧栏中。

  3. 检查工作区中当前定义的目录。请注意,hive_metastore而且样品都是特别的目录。

  4. 单击某个目录的名称可查看该目录中的所有数据库。

  5. 单击权限选项卡查看目录的当前所有者和授权。

  6. 单击某个数据库的名称,可查看该数据库中的所有表。

  7. 单击表名,可查看表中的字段。

  8. 单击样本数据选项卡查看表中数据的预览。

步骤2:在metastore中创建一个新目录

您可以使用数据资源管理器UI添加目录。若要使用SQL,请参见创建目录

  1. 数据资源管理器的右侧包含到模式中当前查看的数据对象的层次结构中所有资产的链接:目录>catalog_name>database_name>.点击目录返回到亚稳态层次结构的顶层。

  2. 点击创建目录在屏幕的右上方。

  3. 输入唯一的目录名称。

  4. 输入可选的注释。

  5. 点击创建

新创建的目录包含两个模式(数据库):默认的而且information_schema.有关此系统表的详细信息,请参见信息模式

步骤3:在编目中创建一个新模式

您可以使用数据资源管理器UI添加数据库。若要使用SQL,请参见创建模式

  1. 从屏幕左侧的列表中单击目录的名称。

  2. 点击创建数据库在屏幕的右上方。

  3. 请输入唯一的数据库名称。

  4. 输入可选的注释。

  5. 点击创建

步骤4:从CSV创建一个表

Databricks提供了一个UI,允许您将CSV文件上传到Unity Catalog表中。您可以使用100兆字节以下的任何CSV。SQL仓库必须处于活动状态才能使用UI。详情请参见使用添加数据UI加载数据

如果喜欢使用SQL创建表,请参见创建表跳过这一步。

  1. 单击+在左边搜索表搜索字段;选择通过上传创建表从飞出菜单。

  2. 通过浏览或在交互框中删除文件,从计算机中添加CSV文件。

    • 文件上传可能需要几秒钟的时间。

  3. 使用第一个下拉菜单选择在步骤2中创建的目录。

  4. 使用第二个下拉菜单选择在步骤3中创建的数据库。

  5. 您可以为表提供一个自定义名称。

  6. 如果表有标题行,请确保第一行包含标题复选框被选中。否则,取消勾选此框。

  7. 可选地,为每个列提供自定义名称。

  8. 如果文件中的数据预览不正确,请单击先进的属性并调整可用的设置。

  9. 点击创建

步骤5:授予目录、数据库和表的权限

Databricks SQL最终用户完成任务所需的最小权限集根据期望的结果而变化。您可以为单个用户或组分配权限。通过与另一位Databricks SQL用户一起学习本教程,您可以看到更改授权如何立即更新对不同资产的各种操作的访问。

步骤5a:拨款使用目录目录权限

希望在目录中执行操作的用户必须具有使用目录权限。

  1. 点击数据图标数据,以返回到数据资源管理器。

  2. 单击在步骤2中创建的目录的名称。

  3. 单击权限选项卡查看目录的授权。

  4. 点击格兰特

  5. 使用下拉菜单选择要添加的用户或组。

  6. 的旁边的方框使用目录特权。

  7. 点击格兰特

步骤5b:授权使用模式数据库权限

使用模式是用户查看数据库所需的最小权限。这允许用户与数据库中包含的表或视图进行交互。用户必须具备创建表格从查询或ui定义新表或视图的特权。

  1. 单击在步骤3中创建的数据库的名称。

  2. 单击权限选项卡查看数据库的授权。

  3. 点击格兰特

  4. 使用下拉菜单选择要添加的用户或组。

  5. 的旁边的方框使用模式特权。

  6. 点击格兰特

5c .授予选择表的权限

用户只能看到自己拥有权限的表和视图。选择查看和查询表或视图所需的最小权限。用户提供修改特权可以添加、删除和修改数据,也可以完全删除表。

  1. 单击在步骤4中创建的表的名称。

  2. 单击权限选项卡查看表的授权。

  3. 点击格兰特

  4. 使用下拉菜单选择要添加的用户或组。

  5. 的旁边的方框选择特权。

  6. 点击格兰特

下一个步骤

对生产数据的安全访问应该遵循最小权限原则。在本教程中,您为最终用户配置了一个目录、数据库和表,以公开查询生产数据,但不允许他们意外损坏或删除数据。大多数最终用户都应该对他们可以访问的大多数数据进行这种配置,因为大多数查询都是只读查询。

用户可能还需要将衍生数据集保存到数据库中。Databricks建议为衍生数据集创建一个单独的数据库,以将这些表与生产表隔离开来。要测试这一点,请创建一个新数据库并授予创建表格而且创建视图同一用户的特权。用户现在可以将在步骤4中创建的表上的查询结果保存到新创建的表或视图中。

如果一组用户需要一起在表上工作,请批准修改特定表的权限。

Databricks建议管理授予组的权限,而不是单个用户。