Desglosa los silos de datos y evita cambiar de herramienta con un conector de Knowledge Catalog (antes Dataplex Universal Catalog) para importar metadatos de Databricks Unity Catalog directamente a Google Cloud.
Este conector admite instancias de Databricks Unity Catalog alojadas en Google Cloud, Microsoft Azure o Amazon Web Services (AWS).
En la siguiente tabla, se enumeran los metadatos que captura el conector de Databricks Unity Catalog:
| Categoría | Metadatos capturados |
|---|---|
| Técnico |
|
| Operacional |
|
| Empresa |
|
| Semántica |
|
Limitaciones
El conector de Databricks Unity Catalog tiene las siguientes limitaciones:
- No se admite el linaje.
- Las etiquetas semánticas y los glosarios empresariales no se admiten en la integración (API de Genie).
- El conector importa los metadatos de tus tablas de Iceberg, pero no vincula automáticamente las entradas importadas con las entradas correspondientes de Lakehouse Databricks Unity Catalog Iceberg REST Catalog (IRC) de Google Cloud .
Antes de comenzar
Antes de importar metadatos de Databricks Unity Catalog, completa las siguientes tareas:
- Otorga los roles y permisos necesarios.
- Habilita la API de Dataplex y la API del Servicio de transferencia de datos de BigQuery.
- Cumple con los requisitos previos de Databricks Unity Catalog.
- Cumple con los requisitos previos de redes.
Permisos y funciones de IAM
Para crear y administrar un trabajo de conector de Knowledge Catalog, necesitas roles de Identity and Access Management (IAM) que otorguen permisos para Knowledge Catalog y el Servicio de transferencia de datos de BigQuery.
Para obtener los permisos que necesitas para configurar un conector de Databricks Unity Catalog, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Para crear y administrar grupos de entradas:
Administrador de Dataplex Catalog
(
roles/dataplex.catalogAdmin), Editor de Dataplex Catalog (roles/dataplex.catalogEditor) o Propietario del grupo de entradas de Dataplex (roles/dataplex.entryGroupOwner) en el proyecto. - Para ver los metadatos de Databricks Unity Catalog:
Visualizador del catálogo de Dataplex
(
roles/dataplex.catalogViewer) en el proyecto. - Para crear y administrar trabajos de transferencia del Servicio de transferencia de datos de BigQuery:
Administrador de BigQuery
(
roles/bigquery.admin) en el proyecto. - Para ver los registros en Cloud Logging:
Visor de registros
(
roles/logging.viewer) en el proyecto.
También debes otorgar al agente de servicio del Servicio de transferencia de datos de BigQuery
(service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)
los siguientes roles:
- Importador de grupos de entradas de Dataplex
(
roles/dataplex.entryGroupImporter), en el grupo de entradas de destino o en el proyecto que lo contiene. Este rol permite que el agente de servicio importe metadatos al grupo de entrada (dataplex.entryGroups.import). Propietario de entradas y vínculo de entrada de Dataplex (
roles/dataplex.entryOwner) en el proyecto que contiene el grupo de entradas de destino. Este rol permite que el agente de servicio importe metadatos de uso, empresariales y de calidad de los datos, y vínculos de entrada. Incluye los siguientes permisos:dataplex.entryGroups.useDataProfileAspectdataplex.entryGroups.useDataQualityScorecardAspectdataplex.entryGroups.useManagedConnectorTypesdataplex.entryGroups.useReferenceEntryLinkdataplex.entryGroups.useSchemaAspectdataplex.entryGroups.useSchemaJoinAspectdataplex.entryGroups.useSchemaJoinEntryLinkdataplex.entryGroups.useUsageAspectdataplex.entryLinks.reference
Otorga este rol en el proyecto, no solo en el grupo de entradas, ya que la importación verifica el permiso
dataplex.entryLinks.referenceen el proyecto. Si el agente de servicio no tiene este permiso en el proyecto, la ejecución de la transferencia falla con un error comoPermission 'dataplex.entryLinks.reference' deniedy no se importan metadatos.
En lugar de otorgar ambos roles, puedes otorgar el rol de
propietario del grupo de entradas de Dataplex
(roles/dataplex.entryGroupOwner) en el proyecto que contiene el
grupo de entradas de destino. Este rol incluye los permisos de ambos roles y
también permite que el agente de servicio cree, borre y administre el acceso a todos los grupos de entradas
del proyecto.
Si quieres obtener más información para otorgar roles, consulta Administra el acceso.
Habilita las APIs
Habilita la API de Dataplex y la API del Servicio de transferencia de datos de BigQuery.
Requisitos previos de Databricks Unity Catalog
La entidad de servicio que se usa para el conector de Databricks Unity Catalog debe tener los siguientes permisos en Databricks Unity Catalog:
- Permiso
Can useen el almacén de Databricks SQL que usa el conector. - Privilegio
BROWSEen los catálogos de destino, oUSE CATALOG,USE SCHEMAySELECTen los catálogos, esquemas y tablas o vistas de destino. USE CATALOGen el catálogosystem, además deUSE SCHEMAySELECTen los siguientes esquemas del sistema:system.information_schema: Es necesario para leer catálogos, esquemas, tablas, columnas, volúmenes, rutinas, restricciones y etiquetas.system.accessysystem.query: opcionales, obligatorios para importar métricas de uso, estadísticas de uso y uniones de historial de consultas.system.data_quality_monitoring: opcional, obligatorio para importar los resultados de la detección de anomalías.
- Opcional:
USE CATALOG,USE SCHEMAySELECTen las tablas de resultados de Lakehouse Monitoring (TABLE_NAME_profile_metricsyTABLE_NAME_drift_metrics) para importar métricas de generación de perfiles de datos y desvío.
Si también quieres ejecutar consultas en SQL o trabajos de Spark en el catálogo remoto de Databricks, consulta Configura una conexión multinube para Databricks Unity Catalog.
Requisitos previos de Herramientas de redes
Para permitir que el Servicio de transferencia de datos de BigQuery se conecte de forma segura a bases de datos externas o fuentes de datos en la nube de terceros con una dirección IP privada dentro de una red privada, configura un adjunto de red a través de Private Service Connect.
Si te conectas a un entorno local o a una instancia alojada en la nube con una dirección IP pública, no se requiere un adjunto de red.
Configura un conector de Databricks Unity Catalog
Configura un conector de Databricks Unity Catalog con la consola de Google Cloud o la API de REST.
Console
En la consola de Google Cloud , ve a la página Knowledge Catalog.
En el menú de navegación, en la sección Administrar, haz clic en Conectores y, luego, en Agregar conexión.
En la lista Conectores, selecciona la tarjeta Databricks Unity Catalog.
En la sección Detalles de la fuente de datos, proporciona los detalles de conexión para tu instancia de Databricks Unity Catalog:
- En Adjunto de red, selecciona un adjunto de red existente si es necesario o crea uno.
- Ingresa el Host del espacio de trabajo, la Ruta de acceso HTTP del almacén de SQL, el ID de cliente y el Secreto de cliente.
En Objetos de Databricks para transferir, haz clic en Explorar para seleccionar los almacenes de metadatos, los catálogos, los esquemas o los objetos individuales (tablas, vistas, volúmenes, funciones y procedimientos) que se importarán a Knowledge Catalog. Si seleccionas un almacén de metadatos, un catálogo o un esquema, se importarán todos los objetos que contenga.
También puedes ingresar objetos de forma manual en el formato
TYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], en el queTYPEesMETASTORE,CATALOG,SCHEMA,TABLE,VIEW,VOLUME,FUNCTIONoPROCEDURE(por ejemplo,SCHEMA:my_metastore/main/sales). No se admiten los patrones de nombre.
En la sección Configuración de destino, haz lo siguiente:
- Haz clic en Explorar y selecciona un grupo de entradas de Knowledge Catalog existente para almacenar los metadatos importados, o haz clic en Crear un grupo de entradas nuevo.
- Selecciona si deseas establecer permisos en el grupo de entradas ahora o más adelante.
Para permitir que los usuarios vean los metadatos importados, establece permisos en el
grupo de entradas. Si no otorgaste el rol de
importador de grupos de entradas de Dataplex
(
roles/dataplex.entryGroupImporter) o el permisodataplex.entryGroups.importal agente de servicio del Servicio de transferencia de datos de BigQuery a nivel del proyecto, otórgalo en este grupo de entradas. Aún debes otorgar el rol de propietario de entradas y vínculo de entrada de Dataplex (roles/dataplex.entryOwner) en el proyecto, ya que el permisodataplex.entryLinks.referencese verifica a nivel del proyecto. Para obtener más información, consulta Roles y permisos de IAM.
En la sección Nombre de la configuración de transferencia, en Nombre visible, ingresa un nombre para el trabajo de importación de metadatos.
En la sección Opciones de programación, configura la frecuencia del trabajo de importación de metadatos. Si seleccionas A pedido, el trabajo se ejecuta solo cuando lo activas de forma manual.
Opcional: En la sección Opciones de notificación, configura una notificación por correo electrónico o Pub/Sub para los errores de los trabajos.
Opcional: En la sección Opciones avanzadas, configura los parámetros de encriptación. Si seleccionas una clave de encriptación administrada por el cliente (CMEK), esta encriptará los datos transitorios que se almacenen en etapa de pruebas antes de iniciar los trabajos de importación de metadatos de Knowledge Catalog. La clave no encripta los metadatos en el grupo de entradas de destino de Knowledge Catalog.
Haz clic en Guardar.
REST
Usa el
método
projects.locations.transferConfigs.create. En el recurso
TransferConfig,
configura los siguientes campos:
- Configura el campo
dataSourceIdcomo"databricks_unity". - En el campo
metadataDestination, completa el campodataplexConfiguration.entryGroupcon la ruta de acceso del recurso del grupo de entradas de Knowledge Catalog de destino:projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID. - En el campo
params, configura los siguientes parámetros:connector.host(obligatorio): Es el nombre de host del espacio de trabajo de Databricks (por ejemplo,dbc-a1b2345c-d6e7.cloud.databricks.com).connector.httpPath(obligatorio): Es la ruta de acceso HTTP del almacén de Databricks SQL (por ejemplo,/sql/1.0/warehouses/a1b2345c67890def).connector.authentication.oauth.clientId(obligatorio): el ID de cliente de OAuth de Databricks.connector.authentication.oauth.clientSecret(obligatorio): Es el secreto del cliente de OAuth de Databricks.connector.networkAttachment(opcional): Es el adjunto de red en el formatoprojects/PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT_ID.assets(obligatorio): Es la lista de objetos de Databricks Unity Catalog que se importarán en el formatoTYPE:METASTORE[/CATALOG[/SCHEMA[/OBJECT]]], como["SCHEMA:my_metastore/main/sales"].
- Opcional: Para mantener las credenciales de OAuth fuera de la configuración de transferencia, almacénalas en
Secret Manager:
- Establece
connector.authentication.oauth.clientSecret(yconnector.authentication.oauth.clientId, si lo deseas) en el nombre del recurso de la versión del Secret con el formatoprojects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/VERSION_IDy agrega esos nombres de parámetros al campoparamConfig.secretManagerManagedParams. - Otorga el rol de
descriptor de acceso a secretos de Secret Manager
(
roles/secretmanager.secretAccessor) en cada secreto al agente de servicio del Servicio de transferencia de datos de BigQuery del proyecto que contiene la configuración de transferencia (service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com). Los secretos pueden estar en un proyecto diferente. Si el agente de servicio no puede leer un secreto, la ejecución falla antes de que comience con un error comoFailed to retrieve secret ... Permission 'secretmanager.versions.access' denied. El Servicio de transferencia de datos de BigQuery lee los secretos al comienzo de cada ejecución, por lo que, si configurasVERSION_IDcomolatest, se usará un secreto rotado a partir de la siguiente ejecución.
- Establece
En el siguiente ejemplo, se muestra un cuerpo de solicitud TransferConfig:
{
"displayName": "databricks-unity-metadata-import",
"dataSourceId": "databricks_unity",
"schedule": "every 24 hours",
"params": {
"connector.host": "dbc-a1b2345c-d6e7.cloud.databricks.com",
"connector.httpPath": "/sql/1.0/warehouses/a1b2345c67890def",
"connector.authentication.oauth.clientId": "CLIENT_ID",
"connector.authentication.oauth.clientSecret": "CLIENT_SECRET",
"assets": [
"SCHEMA:my_metastore/main/sales"
]
},
"metadataDestination": {
"dataplexConfiguration": {
"entryGroup": "projects/PROJECT_ID/locations/LOCATION/entryGroups/ENTRY_GROUP_ID"
}
}
}
El trabajo se ejecuta automáticamente según tu programa, o puedes activarlo de forma manual.
Supervisa un trabajo del conector de Databricks Unity Catalog
Supervisa un trabajo del conector de Databricks Unity Catalog con la consola deGoogle Cloud o la API de REST.
Console
- En la consola de Google Cloud , en la página Conectores, haz clic en el Nombre visible del trabajo de transferencia de Databricks Unity Catalog.
- En la pestaña Historial de ejecuciones, haz clic en Ver detalles para ver los registros.
- Para ver las entradas creadas, haz clic en la pestaña Detalles y, luego, en el vínculo del grupo de entradas Destino de metadatos.
REST
- Para enumerar las ejecuciones de una configuración de transferencia y ver su estado, usa
el método
projects.locations.transferConfigs.runs.list. Cada ejecución importa los metadatos recopilados a Knowledge Catalog con un trabajo de importación de metadatos cuyo ID es
dts-run-RUN_ID. Para ver el resultado de la importación, como la cantidad de entradas creadas, filtra los registros del trabajo en Logging con la siguiente consulta:logName="projects/PROJECT_ID/logs/dataplex.googleapis.com%2Fmetadata_job" AND resource.labels.metadata_job_id="dts-run-RUN_ID"Para ver el resultado de una importación sin usar Logging, llama al método
projects.locations.metadataJobs.getenprojects/PROJECT_ID/locations/LOCATION/metadataJobs/dts-run-RUN_ID. En el campoimportResult, se muestra la cantidad de entradas y vínculos de entrada creados, actualizados, sin cambios y borrados.
Busca y visualiza metadatos de Databricks Unity Catalog
En la consola de Google Cloud , ve a la página Búsqueda de Knowledge Catalog.
En el panel Filtros, filtra los recursos de Databricks Unity Catalog con las secciones Proyecto, Sistemas y Alias de tipo. Para filtrar todos los metadatos de Databricks Unity Catalog, en la sección Sistemas, selecciona Contexto importado y, luego, en el apartado Conectores administrados, selecciona Databricks Unity.
En el campo de búsqueda, ingresa una palabra clave o una consulta de búsqueda en lenguaje natural. Por ejemplo, para ver todos los recursos de Databricks Unity Catalog a través de la búsqueda por palabras clave, ingresa
system=DATABRICKS.Para obtener más información sobre la búsqueda de recursos, consulta Busca recursos en Knowledge Catalog. Para obtener más información sobre las expresiones que puedes usar en el campo de búsqueda, consulta Sintaxis de búsqueda para Knowledge Catalog.
También puedes usar la API de
LookupContext
para recuperar el contexto del LLM para recursos específicos de Databricks Unity Catalog. Para
obtener más información, consulta Recupera el contexto de los recursos de
datos.
¿Qué sigue?
- Obtén más información para administrar trabajos de conector.