Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本页概述了如何使用 Unity REST API 从外部 Delta 客户端访问 Unity 目录托管表和外部表。 若要从外部客户端创建外部 Delta 表,请参阅 从外部客户端创建外部 Delta 表。
使用 Iceberg REST 目录 从支持的 Iceberg 客户端(包括 Apache Spark 和 DuckDB)读取 Azure Databricks 上已注册的 Unity Catalog 表。
有关受支持的集成的完整列表,请参阅 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 对象的访问权限:
- 为元存储启用 外部数据访问 。 请参阅 在元存储上启用外部数据访问。
- 授予负责配置集成的主体在包含对象的架构上的
EXTERNAL USE SCHEMA
权限。 请参阅 授予主体 Unity 目录特权。 - 使用 Databricks 个人访问令牌进行身份验证。 请参阅 授权访问 Azure 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 目录文档 。