从 Delta 客户端读取 Databricks 表

本页概述了如何使用 Unity REST API 从外部 Delta 客户端访问 Unity 目录托管表和外部表。 若要从外部客户端创建外部 Delta 表,请参阅 从外部客户端创建外部 Delta 表

使用 Iceberg REST 目录 从支持的 Iceberg 客户端(包括 Apache Spark 和 DuckDB)读取 Azure Databricks 上已注册的 Unity Catalog 表。

有关受支持的集成的完整列表,请参阅 Unity 目录集成

小贴士

有关如何使用 Microsoft Fabric 读取 Azure Databricks 数据的信息,请参阅 使用 Microsoft Fabric 读取在 Unity 目录中注册的数据。

使用 Unity REST API 读取和写入

Unity REST API 提供对注册到 Unity 目录的表的外部客户端读取访问权限。 某些客户端还支持创建表及写入到现有表。

使用终结点 /api/2.1/unity-catalog 配置访问权限。

要求

Azure Databricks 支持通过 Unity REST API 访问 Unity Catalog 中的表。 必须在工作区启用 Unity Catalog 才能使用这些终结点。 以下表类型符合 Unity REST API 读取的条件:

  • Unity Catalog 托管表。
  • Unity Catalog 外部表。

必须完成以下配置步骤,才能使用 Unity REST API 配置从 Delta 客户端读取 Databricks 对象的访问权限:

使用 Apache Spark 读取 Delta 表

下面是将 Apache Spark 配置为读取 Unity Catalog 托管表和外部 Delta 表的设置示例:

"spark.sql.extensions": "io.delta.sql.DeltaSparkSessionExtension",
"spark.sql.catalog.spark_catalog": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>": "io.unitycatalog.spark.UCSingleCatalog",
"spark.sql.catalog.<uc-catalog-name>.uri": "<workspace-url>/api/2.1/unity-catalog",
"spark.sql.catalog.<uc-catalog-name>.token":"<token>",
"spark.sql.defaultCatalog":"<uc-catalog-name>"

请替换以下变量:

  • <uc-catalog-name>:Unity Catalog 中包含你的表的目录名称。
  • <workspace-url>:Azure Databricks 工作区的 URL。
  • <token>:配置集成的主体的 PAT 令牌。

重要说明

具体配置根据为目录提供支持的云对象存储的类型而异。 有关其他配置,请参阅 OSS Unity Catalog 文档