【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog

发布时间:2024年01月15日

本文属于【Azure 架构师学习笔记】系列
本文属于【Azure Databricks】系列。
接上文 【Azure 架构师学习笔记】- Azure Databricks (5) - Unity Catalog 简介

UC的关键特性

之所以DataBricks要用UC, 很大程度是对安全的管控。从上文可以了解到它的四大特性:

  1. 数据访问控制: 谁可以访问什么数据
  2. 数据访问审计: 收集访问数据的行为
  3. 数据血缘: 收集上游来源和下游消费者
  4. 数据发现: 可用于查询和发现已授权的资产

UC开启前后的变化

这是一个很重要的图,如果不是从0开始使用UC 而是迁移,那么很有必要了解前后发生了什么事。

从下图可以看出,UC 把User/Group management, Metastore, Access controls 从过去单个workspace中提取出来集中管理。workspace只负责计算资源的管理。

在这里插入图片描述

这种变化会使得原有在单个workspace上的配置迁移到UC 内部,这个过程会出现很多问题和改动, 所以要有心理准备在迁移过程中会花费不少时间。

接下来我们先搭建环境,以便后续重现很多问题。

创建UC

首先假设你已经有了一个ADB, 并具有了Admin的权限。然后进去ADB的workspace,从右上角如下图所示的“Manage Account”进去配置界面。
在这里插入图片描述
然后从下图所示点击“data”进入常见Metastore界面。

在这里插入图片描述
点击“Create metastore”

在这里插入图片描述

配置必填信息,对于非必填的选项(在稍微旧一点的版本中这四个都是必填项)我们可以看看它的说明,对于实际项目而言,我们最好建立一个单独的Storage Account(ADLS Gen2 类型)来存储。

在这里插入图片描述
接下来快速演示一下,创建一个ADLS Gen 2 ,过程略。然后创建一个container, 我这里叫uccontainer, 并在其内部创建一个目录名为:folder
在这里插入图片描述
然后从endpoint处找到“Data Lake Storage”的endpoint值, 这个值以"Container名字@endpoint名字/目录名"的格式填入,如我这里:
uccontainer@georgesa202311.dfs.core.windows.net/folder 为录入值。

在这里插入图片描述

接下来看access connector,如果上面指定了ADLS , 那么这个值就要同时提供。

在这里插入图片描述
从portal上搜索并点击进去创建。
在这里插入图片描述
可以简单默认创建。

在这里插入图片描述

获取下图中的值。填入上面metastore的创建界面中。
在这里插入图片描述

在点击创建时,可能会出现以下报错,这是因为引入了额外的Storage Account后需要赋权:
在这里插入图片描述

授权ADLS Gen2

在所用的ADLS 上点击IAM, 选择“storage blob data contributor”:

在这里插入图片描述

授权给Accessconnector:
在这里插入图片描述
授权成功:

在这里插入图片描述

除了RBAC 外,还要授权ACL:

在这里插入图片描述

这里把Access Connector授予Read, Write 和Execute权限:
在这里插入图片描述

在这里插入图片描述
除了Access Permissions之外,还要配置Default permissions,这是针对后续新增加的子目录,如果没有这个配置,权限仅针对当前配置有效。
在这里插入图片描述
配置完毕之后,再次点击创建,可以看到创建metastore成功:

在这里插入图片描述

启用metastore

按下图步骤启用metastore
在这里插入图片描述
启用成功。

在这里插入图片描述

点击【open】即可开始使用UC。
在这里插入图片描述

从下面图中可以看到前一章提到的一些关于UC 的内容。
在这里插入图片描述

也可以在此处进行控制访问。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

小结

到此为止,我们有了一个初步的环境,接下来将继续深入研究UC。

文章来源:https://blog.csdn.net/DBA_Huangzj/article/details/135471671
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。