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

本文属于【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只负责计算资源的管理。

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第1张图片

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

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

创建UC

首先假设你已经有了一个ADB, 并具有了Admin的权限。然后进去ADB的workspace,从右上角如下图所示的“Manage Account”进去配置界面。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第2张图片
然后从下图所示点击“data”进入常见Metastore界面。

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第3张图片
点击“Create metastore”

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第4张图片

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

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第5张图片
接下来快速演示一下,创建一个ADLS Gen 2 ,过程略。然后创建一个container, 我这里叫uccontainer, 并在其内部创建一个目录名为:folder
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第6张图片
然后从endpoint处找到“Data Lake Storage”的endpoint值, 这个值以"Container名字@endpoint名字/目录名"的格式填入,如我这里:
[email protected]/folder 为录入值。

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第7张图片

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

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第8张图片
从portal上搜索并点击进去创建。
在这里插入图片描述
可以简单默认创建。

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第9张图片

获取下图中的值。填入上面metastore的创建界面中。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第10张图片

在点击创建时,可能会出现以下报错,这是因为引入了额外的Storage Account后需要赋权:
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第11张图片

授权ADLS Gen2

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

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第12张图片

授权给Accessconnector:
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第13张图片
授权成功:

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第14张图片

除了RBAC 外,还要授权ACL:

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第15张图片

这里把Access Connector授予Read, Write 和Execute权限:
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第16张图片

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第17张图片
除了Access Permissions之外,还要配置Default permissions,这是针对后续新增加的子目录,如果没有这个配置,权限仅针对当前配置有效。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第18张图片
配置完毕之后,再次点击创建,可以看到创建metastore成功:

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第19张图片

启用metastore

按下图步骤启用metastore
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第20张图片
启用成功。

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第21张图片

点击【open】即可开始使用UC。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第22张图片

从下面图中可以看到前一章提到的一些关于UC 的内容。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第23张图片

也可以在此处进行控制访问。
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第24张图片
【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第25张图片

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog_第26张图片

小结

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

你可能感兴趣的:(Azure,架构师学习笔记,Databrics,azure,Databrikcs)