在 Microsoft Purview 中连接和管理 Azure Databricks Unity 目录
本文概述了如何注册 Azure Databricks,以及如何在 Microsoft Purview 中对 Azure Databricks Unity 目录进行身份验证和交互。 有关 Microsoft Purview 的详细信息,请阅读 介绍性文章。
支持的功能
元数据提取 | 完整扫描 | 增量扫描 | 作用域扫描 | 分类 | 标记 | 访问策略 | 世系沿袭 | 数据共享 | 实时视图 |
---|---|---|---|---|---|---|---|---|---|
是 | 是 | 是 | 是 | 是 | 否 | 否 | 是 | 否 | 否 |
扫描 Azure Databricks Unity 目录时,Microsoft Purview 支持:
- 提取技术元数据,包括:
- 元存储
- 目录
- Schemas
- 包含列的表
- 包含列的视图
- 在笔记本运行期间提取表、视图、列之间的资产关系的世系。
设置扫描时,可以选择扫描整个目录Unity,或将扫描范围限定为目录子集。
注意
此连接器从 Azure Databricks Unity目录中引入元数据。 若要扫描 Azure Databricks 工作区范围的元数据,请参阅 Azure Databricks Hive 元存储连接器。
已知限制
- 从数据源中删除对象时,当前后续扫描不会自动删除 Microsoft Purview 中的相应资产。
- 有关与本机 Azure Databricks 世系相关的其他限制的更多详细信息,请参阅 Azure Databricks 文档。
先决条件
必须具有具有活动订阅的 Azure 帐户。 免费创建帐户。
必须具有有效的 Microsoft Purview 帐户。
需要 Azure 密钥保管库,并授予 Microsoft Purview 访问机密的权限。
需要数据源管理员和数据读取者权限才能在 Microsoft Purview 治理门户中注册和管理源。 有关权限的详细信息,请参阅 Microsoft Purview 中的访问控制。
若要扫描 Azure Databricks Unity目录,Microsoft Purview 连接到工作区中的 SQL 仓库,并使用个人访问令牌进行身份验证。 需要有一个已启用Unity目录的 Azure Databricks 工作区,并将其附加到要扫描的元存储。 在 Azure Databricks 工作区中:
创建 SQL 仓库。 还可以使用自动创建的初学者仓库(如果适用)。
记下 HTTP 路径。 可以在 Azure Databricks 工作区 - SQL 仓库 -> 仓库 ->> 连接详细信息 -> HTTP 路径中找到它。
确保用户具有 “可以使用” 权限,以便连接到 Azure Databricks SQL 仓库。 有关详细信息,请参阅 SQL 仓库访问控制。
若要使用 Microsoft Purview 从 Azure Databricks 提取世系,必须满足以下先决条件:
启用系统架构:必须在Unity目录中启用系统架构 system.access。 这是必需的,因为世系信息存储在系统表中,启用此架构允许访问这些表。 详细了解如何使用系统表监视使用情况。
用户权限:用于扫描的用户帐户需要对以下系统表具有 SELECT 特权:
system.access.table_lineage
system.access.column_lineage
这些权限是必需的,因为世系数据直接从系统表中读取,并且无需访问,Microsoft Purview 无法检索世系信息。
如果 Azure Databricks 工作区不允许从公用网络进行访问,或者 Microsoft Purview 帐户未启用从所有网络进行访问,则可以使用托管虚拟网络 Integration Runtime或 kubernetes 支持的自承载集成运行时进行扫描。 可以根据需要为 Azure Databricks 设置托管专用终结点,以建立专用连接。
扫描身份验证
可以使用个人访问令牌、托管标识或服务主体身份验证方法扫描 Azure Databricks Unity目录。
如果使用系统或用户分配的托管标识
- 在“ 凭据”下选择系统分配或用户分配的托管标识。
若要使用用户分配的托管标识,必须为 Azure Databricks 设置 Azure 托管标识身份验证。
对于要引入Microsoft Purview 的所有对象,用户或服务主体至少需要对表/视图具有 SELECT 特权,对对象的目录具有 USE CATALOG 特权,对对象的架构具有 USE SCHEMA 权限。
若要扫描 Unity Catalog 元存储中的所有对象,请使用具有元存储管理员角色的用户或服务主体。 有关详细信息,请参阅管理 Unity 目录中的特权和Unity目录特权和安全对象。
对于分类,用户还需要对表/视图具有 SELECT 权限才能检索示例数据。
注册
本部分介绍如何使用 Microsoft Purview 治理门户在 Microsoft Purview 中注册 Azure Databricks 工作区。
转到Microsoft Purview 帐户。
在左窗格中选择“ 数据映射 ”。
选择“注册”。
在“注册源”中,选择“Azure Databricks Unity目录>继续”。
在“注册源 (Azure Databricks Unity目录) ”屏幕上,执行以下操作:
对于 “名称”,请输入Microsoft Purview 将列为数据源的名称。
对于元存储 ID,请提供要扫描的 Azure Databricks Unity目录元存储的元存储 ID。
从列表中选择集合。
- 选择“完成”。
扫描
使用以下步骤扫描 Azure Databricks 以自动识别资产。 有关一般扫描的详细信息,请参阅 Microsoft Purview 中的扫描和引入。
转到 “源”。
选择已注册的 Azure Databricks。
选择“ + 新建扫描”。
提供以下详细信息:
名称:输入扫描的名称。
通过集成运行时进行连接:选择你创建的默认 Azure 集成运行时、托管 VNet IR 或 Kubernetes 支持的自承载集成运行时。
凭据:选择要连接到数据源的凭据。 请确保:
- 选择“访问令牌”、“托管标识或服务主体”。
- 注册扫描时,可以创建新的访问令牌或服务主体凭据。 有关详细信息,请参阅 Microsoft Purview 中的源身份验证凭据。
工作区 URL: 提供要扫描的工作区的 URL。
HTTP 路径: 指定 Databricks SQL Warehouse 的 HTTP 路径,Microsoft Purview 将连接到并执行扫描,例如
/sql/1.0/endpoints/xxxxxxxxxxxxxxxx
。 可以在 Azure Databricks 工作区 - SQL 仓库 -> 仓库 ->> 连接详细信息 -> HTTP 路径中找到它。世系提取: 将世系提取切换为 “开” 以提取扫描资产的世系。
选择“ 测试连接 ”以验证设置。
选择 继续。
对于 “扫描触发器”,选择是设置计划还是运行扫描一次。
查看扫描并选择“ 保存并运行”。
扫描成功完成后,请参阅如何 浏览和搜索资产。
查看扫描和扫描运行
查看现有扫描:
- 转到 Microsoft Purview 门户。 在左窗格中,选择“ 数据映射”。
- 选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描 。
- 选择要查看的结果的扫描。 窗格显示之前的所有扫描运行,以及每个扫描运行的状态和指标。
- 选择运行 ID 以检查扫描运行详细信息。
管理扫描
若要编辑、取消或删除扫描,请执行以下操作:
转到 Microsoft Purview 门户。 在左窗格中,选择“ 数据映射”。
选择数据源。 可以在“最近扫描”下查看该数据源上的现有 扫描列表,也可以在“扫描”选项卡上查看所有 扫描 。
选择要管理的扫描。 然后,可以:
- 通过选择“编辑扫描 ”来编辑扫描。
- 选择“取消扫描运行”, 取消正在进行的扫描。
- 通过选择“删除扫描” 来删除扫描。
注意
- 删除扫描不会删除从以前的扫描创建的目录资产。
浏览和搜索资产
扫描 Azure Databricks 后,可以浏览统一目录或搜索统一目录以查看资产详细信息和世系。
按源类型浏览时,会看到 Azure Databricks Unity 目录和 Azure Databricks 的两个条目。 前者包含Unity目录项目,包括元存储及其目录/架构/表/视图,而后者包含工作区项目。
在 Azure Databricks 工作区资产中,可以在“属性”选项卡下找到关联的Unity目录,反向应用也是如此。
世系沿袭
浏览特定的 Azure Databricks 资产时,可以看到捕获了世系的笔记本。
转到“资产 -> 世系”选项卡,可以看到 Azure Databricks Notebook 资产或表/视图资产(如果适用)上的世系。
有关支持的 Databricks Unity目录世系方案,请参阅支持的功能部分。 有关世系的一般信息,请参阅 数据世系 和 世系用户指南。
常见问题 (FAQ)
Microsoft Purview 是否从 Unity 目录中捕获列级世系?
Microsoft Purview 可以在Unity目录表/视图级别和列级别捕获世系。
我看不到列级世系,发生了什么?
当笔记本从群集运行而不是通过 SQL 仓库生成时,会生成列级世系。
我收到超时错误,该怎么办?
当工作区中存在大量资产时,扫描可能无法完成。 在这种情况下,可以将扫描范围限定为一次几个目录,这将减少每次扫描的资产量并允许扫描完成。
我刚运行我的笔记本,但Microsoft Purview 没有提取世系。 发生了什么事情?
执行笔记本后,Databricks 更新其系统表中的世系信息可能会延迟几分钟。 Microsoft更新系统表后,Purview 将能够提取世系。
后续步骤
注册源后,请使用以下指南详细了解Microsoft Purview 和数据: