Compartir vía


Leer tablas de Databricks de clientes Delta

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:

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:

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:

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.