你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将外部 Hive 元存储用于 Synapse Spark 池

注意

Synapse 中的 Azure Synapse Runtime for Apache Spark 3.4 之后的后续版本将不再支持外部 Hive 元存储。

Azure Synapse Analytics 允许同一工作区中的 Apache Spark 池共享托管 HMS(Hive 元存储)兼容的元存储作为其目录。 如果客户需要在工作区外部保留 Hive 目录元数据,并与工作区外部的其他计算引擎(例如 HDInsight 和 Azure Databricks)共享目录对象,他们可以连接到外部 Hive 元存储。 本文介绍了如何将 Synapse Spark 连接到外部 Apache Hive 元存储。

支持的 Hive 元存储版本

该功能适用于 Spark 3.3。 下表显示了每个 Spark 版本支持的 Hive 元存储版本。

Spark 版本 HMS 2.3.x HMS 3.1.X
3.3
3.4

将链接服务设置为 Hive 元存储

注意

仅支持 Azure SQL 数据库和 Azure Database for MySQL 作为外部 Hive 元存储。 两种数据库均支持 SQL(用户名-密码)身份验证。 此外,托管标识(包括系统分配和用户分配)身份验证仅适用于 Azure SQL 数据库和 Spark 3.4。 如果提供的是空白数据库,请通过 Hive 架构工具对它进行预配以创建数据库架构。

按照以下步骤在 Synapse 工作区中设置到外部 Hive 元存储的链接服务。

  1. 打开 Synapse Studio,转到左侧的“管理”>“链接服务”,单击“新建”以创建新的链接服务。

    设置 Hive 元存储链接服务的屏幕截图。

  2. 选择“Azure SQL 数据库”,单击“继续”。

  3. 提供链接服务的名称。 记录链接服务的名称,此信息将很快用于配置 Spark。

  4. 选择“旧版”版本,然后选择“连接字符串”。

  5. 可以从 Azure 订阅列表中为外部 Hive 元存储选择 Azure SQL 数据库,也可以手动输入信息。

  6. 将“身份验证类型”设置为 SQL AuthenticationSystem-assigned managed identityUser-assigned managed identity 之一。 对于 SQL Authentication,提供“用户名”和“密码”以设置连接。 对于 System-assigned managed identity,页面将自动填充与当前工作区关联的管理标识。 对于 User-assigned managed identity,请选择或创建与用户分配的托管标识绑定的凭据。

  7. 测试连接以验证身份验证。

  8. 单击“创建”以创建链接服务。