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.
En esta página se proporciona información general sobre el uso de la API REST de Unity para acceder a tablas externas y administradas del catálogo de Unity desde clientes delta externos. Para crear tablas delta externas a partir de clientes externos, consulte Creación de tablas delta externas a partir de clientes externos.
Use el catálogo REST de Cosmos para leer las tablas registradas en el catálogo de Unity en Azure Databricks desde clientes de Cosmos compatibles, incluidos Apache Spark y DuckDB.
Para obtener una lista completa de las integraciones admitidas, consulte Integraciones del catálogo de Unity.
Consejo (if the meaning of "Tip" is advice or suggestion)
Para obtener información sobre cómo leer datos de Azure Databricks mediante Microsoft Fabric, consulte Uso de Microsoft Fabric para leer datos registrados en el Catálogo de Unity.
Lectura y escritura mediante la API REST de Unity
La API REST de Unity proporciona a los clientes externos acceso de lectura a las tablas registradas en el catálogo de Unity. Algunos clientes también admiten la creación de tablas y la escritura en tablas existentes.
Configure el acceso mediante el punto de conexión /api/2.1/unity-catalog.
Requisitos
Azure Databricks admite el acceso de la API REST de Unity a tablas como parte del catálogo de Unity. Debe tener habilitado el Catálogo de Unity en el área de trabajo para usar estos puntos de conexión. Los siguientes tipos de tabla son aptos para las lecturas de la API REST de Unity:
- Tablas administradas por el cCtálogo de Unity.
- Tablas externas de Unity Catalog.
Debe completar los siguientes pasos de configuración para configurar el acceso para leer objetos de Databricks desde clientes Delta mediante la API REST de Unity:
- Habilite el acceso a datos externos para su metastore. Consulte Habilitar el acceso a datos externos en el metastore.
- Conceda al responsable de configurar la integración el
EXTERNAL USE SCHEMAprivilegio en el esquema que contiene los objetos. Vea Otorgar a un principal privilegios del Catálogo de Unity. - Autentíquese mediante uno de los métodos siguientes:
- Token de acceso personal (PAT): consulte Autorización del acceso a los recursos de Azure Databricks.
- Autenticación de máquina a máquina (M2M) de OAuth: admite la actualización automática de credenciales y tokens para trabajos de Spark de ejecución prolongada (>1 hora). Consulte Autorización del acceso de la entidad de servicio a Azure Databricks con OAuth.
Lectura de tablas delta con Apache Spark mediante la autenticación PAT
La siguiente configuración es necesaria para leer las tablas delta administradas y externas del catálogo de Unity con Apache Spark mediante la autenticación PAT:
"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>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Sustituya las siguientes variables:
-
<uc-catalog-name>: El nombre del catálogo en Unity Catalog que contiene tus tablas. -
<workspace-url>: dirección URL del área de trabajo de Azure Databricks. -
<token>: token de acceso personal (PAT) para el usuario principal que configura la integración.
Para habilitar la renovación automática de credenciales para trabajos de ejecución prolongada, agregue la siguiente configuración:
"spark.sql.catalog.<catalog-name>.renewCredential.enabled": true
Nota:
Las versiones del paquete mostradas anteriormente son actuales a partir de la última actualización de esta página. Es posible que haya versiones más recientes disponibles. Compruebe que las versiones del paquete son compatibles con la versión de Databricks Runtime y la versión de Spark.
Para más información sobre cómo configurar Apache Spark para el almacenamiento de objetos en la nube, consulte la documentación del sistema operativo del catálogo de Unity.
Lectura de tablas delta con Apache Spark mediante la autenticación de OAuth
Azure Databricks también admite la autenticación de máquina a máquina (M2M) de OAuth. OAuth controla automáticamente la renovación de tokens para la autenticación del catálogo de Unity. Para los trabajos de larga duración que también requieren la renovación automática de credenciales de almacenamiento en la nube, habilite la spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled configuración en la configuración de Spark.
La autenticación de OAuth para clientes de Spark externos requiere:
- Cliente Spark del Catálogo de Unity versión 0.3.1 o posterior (
io.unitycatalog:unitycatalog-spark) - Apache Spark 4.0 o posterior
- Delta Spark 4.0.1 o posterior con compatibilidad con OAuth
- Un principal de servicio OAuth M2M con los permisos adecuados. Consulte Autorización del acceso de la entidad de servicio a Azure Databricks con OAuth.
La siguiente configuración es necesaria para leer tablas administradas de Unity Catalog y tablas delta externas con Apache Spark mediante la autenticación de OAuth:
"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>.auth.type": "oauth",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.uri": "<oauth-token-endpoint>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientId": "<oauth-client-id>",
"spark.sql.catalog.<uc-catalog-name>.auth.oauth.clientSecret": "<oauth-client-secret>",
"spark.sql.catalog.<uc-catalog-name>.renewCredential.enabled": "true",
"spark.sql.defaultCatalog": "<uc-catalog-name>",
"spark.jars.packages": "io.delta:delta-spark_2.13:4.0.1,io.unitycatalog:unitycatalog-spark_2.13:0.3.1,org.apache.hadoop:hadoop-azure:3.3.6"
Sustituya las siguientes variables:
-
<uc-catalog-name>: El nombre del catálogo en Unity Catalog que contiene tus tablas. -
<workspace-url>: dirección URL del área de trabajo de Azure Databricks. Consulte Nombres de instancia, direcciones URL e identificadores del área de trabajo. -
<oauth-token-endpoint>: dirección URL del punto de conexión del token de OAuth. Para construir esta dirección URL:- Busque el identificador de cuenta de Databricks. Consulte Localiza tu ID de cuenta.
- Use el formato :
https://accounts.cloud.databricks.com/oidc/accounts/<account-id>/v1/token
-
<oauth-client-id>: identificador de cliente de OAuth para el principal de servicio. Consulte Autorización del acceso de la entidad de servicio a Azure Databricks con OAuth. -
<oauth-client-secret>: secreto de cliente de OAuth para el principal de servicio. Consulte Autorización del acceso de la entidad de servicio a Azure Databricks con OAuth.
Nota:
Las versiones del paquete mostradas anteriormente son actuales a partir de la última actualización de esta página. Es posible que haya versiones más recientes disponibles. Compruebe que las versiones del paquete son compatibles con la versión de Spark.