在 Microsoft Purview 中连接和管理 Azure Databricks

本文概述如何在 Microsoft Purview 中注册 Azure Databricks,以及如何向 Azure Databricks 进行身份验证并与之交互。 有关 Microsoft Purview 的详细信息,请阅读简介文章。

支持的功能

扫描功能

元数据提取 完全扫描 增量扫描 限定范围的扫描
是 是 否 是

扫描 Azure Databricks Hive 元存储时,Microsoft Purview 支持:

  • 提取技术元数据,包括:

    • Azure Databricks 工作区
    • Hive 服务器
    • 数据库
    • 包含列、外键、唯一约束和存储说明的表
    • 包含列和存储说明的视图
  • 提取外部表与 Azure Data Lake Storage Gen2/Azure Blob 资产(外部位置)之间的关系。

  • 基于视图定义获取表和视图之间的静态关联关系。

设置扫描时,可以选择扫描整个 Hive 元存储,或将扫描范围限定为架构的子集。

相比于此前使用通用 Hive Metastore 连接器 扫描 Azure Databricks:

  • 无需直接访问 HMS 即可直接设置 Azure Databricks 工作区的扫描。 它使用 Databricks 个人访问令牌进行身份验证,并连接到群集以执行扫描。
  • 已捕获 Databricks 工作区信息。
  • 记录了表与存储资产之间的关系。

其他功能

有关 分类、 策略和 实时视图,请参阅 受支持的功能列表。

已知的限制

从数据源中删除对象时,后续扫描不会自动删除 Purview 中的相应资产。

必备条件

  • 你的 Azure 帐户必须具有有效订阅。 创建帐户。

  • 你必须具有有效的 Microsoft Purview 帐户。

  • 需要 Azure 密钥保管库,并授予 Microsoft Purview 访问机密的权限。

  • 需要拥有数据源管理员和数据读取者权限才能在 Microsoft Purview 治理门户中注册和管理源。 有关权限的详细信息,请参阅 Microsoft Purview 中的访问控制。

  • 设置最新的自承载集成运行时。 有关详细信息,请参阅创建和配置自承载集成运行时。 支持的最低自承载集成运行时版本为 5.20.8227.2。

    • 确保在安装了自承载集成运行时的计算机上安装 JDK 11。 在新安装 JDK 后重启计算机,使其生效。

    • 确保在运行自承载集成运行时的计算机上安装 Visual C++ 可再发行程序包(Visual Studio 2012 更新 4 或更新版本)。 如果尚未安装此更新,请立即下载。

  • 在 Azure Databricks 工作区中:

    • 生成个人访问令牌,并将其作为机密存储在 Azure 密钥保管库中。

    • 创建群集。 请注意群集ID - 可以在 Azure Databricks 工作区 -> 计算 -> 群集 -> 标记 -> 自动添加标记 ->ClusterId 中找到它。

    • 确保用户拥有以下权限,以便能够连接到 Azure Databricks 群集:

      • “Can Attach To”权限,用于连接到正在运行的群集。
      • “可重启”权限用于连接时自动触发群集启动,当群集状态处于已终止状态时适用。

注册

本部分介绍如何使用 Microsoft Purview 治理门户在 Microsoft Purview 中注册 Azure Databricks 工作区。

  1. 转到你的 Microsoft Purview 帐户。

  2. 在左侧窗格中选择“数据地图”。

  3. 选择“注册”。

  4. 在“注册源”中,选择“Azure Databricks”,然后点击“继续”。

  5. 在“注册数据源 (Azure Databricks) ”屏幕上,完成以下步骤:

    1. 对于 “名称”,请输入Microsoft Purview 列表作为数据源的名称。

    2. 对于“Azure 订阅”和“Databricks 工作区名称”,请从下拉列表中选择要扫描的订阅和工作区。 系统会自动填充 Databricks 工作区 URL。

    3. 从列表中选择集合。

    注册 Azure Databricks 源的屏幕截图。

  6. 选择“完成”。

扫描

提示

若要排查与扫描有关的任何问题,请执行以下操作:

  1. 确认已满足所有 先决条件。
  2. 查看 扫描故障排除文档。

使用以下步骤扫描 Azure Databricks 以自动识别资产。 若要大致了解有关扫描的更多信息,请参阅 Microsoft Purview 中的扫描和引入。

  1. 在管理中心,选择“集成运行时”。 确保设置了本地托管集成运行时。 如果未设置,请按照创建和管理自承载集成运行时中的步骤进行设置。

  2. 转到来源。

  3. 选择已注册的 Azure Databricks。

  4. 选择“+ 新建扫描”。

  5. 提供以下详细信息:

    1. 名称:输入扫描的名称。

    2. 提取方法: 指示从 Hive 元存储中提取元数据。 选择“Hive 元存储”。

    3. 通过集成运行时进行连接:选择已配置的自承载集成运行时。

    4. 凭据:选择用于连接到数据源的凭据。 请确保:

      • 在创建凭据时选择“访问令牌身份验证”。
      • 在相应的框中,提供你在先决条件部分创建的个人访问令牌的机密名称。

      有关详细信息,请参阅 Microsoft Purview 中用于源身份验证的凭据。

    5. 群集 ID:指定 Microsoft Purview 用于连接和驱动扫描的群集 ID。 可以在 Azure Databricks 工作区 -> 计算 -> 您的群集 -> 标记 -> 自动添加的标记 ->ClusterId中找到。

      1. 装入点:将外部存储手动装载到 Databricks 时,提供装入点和 Azure 存储源位置字符串。 使用 /mnt/<path>=abfss://<container>@<adls_gen2_storage_account>.dfs.core.chinacloudapi.cn/;/mnt/<path>=wasbs://<container>@<blob_storage_account>.blob.core.chinacloudapi.cn 格式。 它用于捕获 Microsoft Purview 中表与相应存储资产之间的关系。 此设置是可选的。 如果您未指定,则不会检索关系。

      可以通过在笔记本中运行以下 Python 命令来获取 Databricks 工作区中的装入点列表:

      dbutils.fs.mounts()
      

      它会输出所有装入点,如下所示:

      [MountInfo(mountPoint='/databricks-datasets', source='databricks-datasets', encryptionType=''),
      MountInfo(mountPoint='/mnt/ADLS2', source='abfss://samplelocation1@azurestorage1.dfs.core.chinacloudapi.cn/', encryptionType=''),
      MountInfo(mountPoint='/databricks/mlflow-tracking', source='databricks/mlflow-tracking', encryptionType=''), 
      MountInfo(mountPoint='/mnt/Blob', source='wasbs://samplelocation2@azurestorage2.blob.core.chinacloudapi.cn', encryptionType=''),
      MountInfo(mountPoint='/databricks-results', source='databricks-results', encryptionType=''),
      MountInfo(mountPoint='/databricks/mlflow-registry', source='databricks/mlflow-registry', encryptionType=''), MountInfo(mountPoint='/', source='DatabricksRoot', encryptionType='')]  
      

      此示例指定的装入点如下:

      /mnt/ADLS2=abfss://samplelocation1@azurestorage1.dfs.core.chinacloudapi.cn/;/mnt/Blob=wasbs://samplelocation2@azurestorage2.blob.core.chinacloudapi.cn

    6. 架构:要导入的架构的子集,以分号分隔的列表形式表示。 例如,schema1;schema2。 如果该列表为空,则会导入所有用户架构。 默认情况下,所有系统架构和对象都将被忽略。

      可接受的架构名称模式可以是静态名称,也可以包含通配符 %。 例如:A%;%B;%C%;D

      • 以 A 开头或
      • 以 B 结尾或
      • 包含 C 编程语言或
      • 等于 D

      不能使用 NOT 和特殊字符。

      注意

      自承载集成运行时版本 5.32.8597.1 及更高版本支持此架构筛选器。

    7. 最大可用内存:客户计算机上可供扫描进程使用的最大内存 (GB)。 此值取决于要扫描的 Azure Databricks 的大小。

      注意

      根据经验,应该为每 1000 个表提供 1GB 内存。

    Azure Databricks 扫描设置的屏幕截图。

  6. 选择“继续”。

  7. 对于“扫描触发器”,可以选择是设置一个计划还是运行一次扫描。

  8. 查看扫描,然后选择“保存并运行”。

扫描成功完成后,请参阅如何浏览和搜索 Azure Databricks 资产。

查看扫描和扫描执行情况

若要查看现有扫描,请执行以下操作:

  1. 转到 Microsoft Purview 门户。 在左窗格中,选择“数据映射”。
  2. 选择数据源。 可以在“最近使用的扫描”下查看该数据源上的现有扫描列表,或者可以在“扫描”选项卡上查看所有扫描。
  3. 选择要查看结果的扫描。 窗格会显示先前的所有扫描运行,以及每次扫描运行的状态和指标。
  4. 选择运行 ID 以检查扫描运行详细信息。

管理扫描

若要编辑、取消或删除扫描:

  1. 转到 Microsoft Purview 门户。 在左窗格中,选择“数据映射”。

  2. 选择数据源。 可以在“最近使用的扫描”下查看该数据源上的现有扫描列表,或者可以在“扫描”选项卡上查看所有扫描。

  3. 选择要管理的扫描。 然后,你可以:

    • 选择编辑扫描来进行编辑。
    • 通过选择“取消扫描运行”来取消正在进行的扫描。
    • 通过选择“删除扫描”来删除扫描。

注意

  • 删除扫描不会删除从以前的扫描中创建的目录资产。

浏览并搜索资产

通过 Databricks 工作区资产,可以找到与其关联的 Hive 元存储以及表/视图;反之亦然。

按源类型浏览资产的屏幕截图。

导航到 Azure Databricks 源资产详细信息的屏幕截图。

查找与 Azure Databricks 源关联的 Hive 元存储的屏幕截图。

Lineage

有关受支持的 Azure Databricks 方案,请参阅支持的功能部分。 有关世系的一般信息,请参阅 数据世系 和 世系用户指南。

转到 Hive 表/视图资产 -> 世系选项卡,可以看到资产关系(如果适用)。 对于表与外部存储资产之间的关系,可以看到 Hive 表资产与存储资产之间存在直接的双向关联,因为两者会相互影响。 如果在 create table 语句中使用装入点,则需要在 扫描设置 中提供装入点信息来提取此类关系。

显示 Azure Databricks 沿袭示例的屏幕截图。

后续步骤

现在你已经注册了源,请按照以下指南来详细了解 Microsoft Purview 和你的数据: