Compartir a través de


Integración de Unity Catalog de Databricks con OneLake

Nota:

En este artículo se describe un enfoque manual mediante métodos abreviados para sincronizar las tablas del catálogo de Unity con OneLake. En lugar de este enfoque, recomendamos usar Mirroring de Azure Databricks Unity Catalog para incorporar tablas de Databricks a OneLake con sincronización automática y configuración mínima.

En este escenario, se muestra cómo integrar tablas delta externas de Unity Catalog en OneLake mediante accesos directos. Después de completar este tutorial, puedes sincronizar automáticamente las tablas Delta externas del catálogo de Unity con un lakehouse de Microsoft Fabric.

Requisitos previos

Antes de conectarse, asegúrese de que tiene:

Configuración de la conexión de almacenamiento en la nube

En primer lugar, compruebe qué ubicaciones de almacenamiento de Azure Data Lake Storage Gen2 (ADLS Gen2) usan las tablas del catálogo de Unity. Los accesos directos de OneLake usan esta conexión de almacenamiento en la nube. Para crear una conexión en la nube a la ubicación de almacenamiento correcta del catálogo de Unity:

  1. Cree una conexión de almacenamiento en la nube que usen las tablas de Unity Catalog. Consulte cómo configurar una conexión de ADLS Gen2.

  2. Después de crear la conexión, obtenga el identificador de conexión seleccionando Configuración>Administrar conexiones y pasarelas>Conexiones>Configuración.

Captura de pantalla en la que se muestra el id. de conexión de ADLS Gen2.

Nota:

La concesión a los usuarios de acceso de nivel de almacenamiento directo a un almacenamiento de ubicación externa en ADLS Gen2 no respeta los permisos concedidos ni las auditorías que mantiene Unity Catalog. El acceso directo omitirá la auditoría, el linaje y otras características de supervisión de seguridad de Unity Catalog, incluido el control de acceso y los permisos. Es responsable de administrar el acceso al almacenamiento directo a través de ADLS Gen2 y de asegurarse de que los usuarios tengan los permisos adecuados concedidos a través de Fabric. Evite todos los escenarios que conceden acceso de escritura de nivel de almacenamiento directo para depósitos que almacenan tablas administradas de Databricks. La modificación, eliminación o evolución de cualquier objeto directamente a través del almacenamiento administrado originalmente por Unity Catalog puede provocar daños en los datos.

Ejecución del cuaderno

Después de obtener el identificador de conexión de Cloud, agrega tablas de Unity Catalog a Fabric Lakehouse.

Captura de pantalla en la que se muestra el flujo de accesos directos de Unity Catalog a Fabric.

  1. Importe el cuaderno de sincronización en el área de trabajo de Fabric. Este cuaderno exporta todos los metadatos de las tablas de Unity Catalog de un catálogo y esquemas determinados en el metastore.

  2. Configure los parámetros en la primera celda del cuaderno para integrar tablas de Unity Catalog. La API de Databricks, que se autentica a través del token PAT, se usa para exportar tablas de Unity Catalog. El siguiente fragmento se usa para configurar los parámetros de origen (Unity Catalog) y de destino (OneLake). Asegúrese de reemplazarlos por sus propios valores.

    # Databricks workspace
    dbx_workspace = "<databricks_workspace_url>"
    dbx_token = "<pat_token>"
    # Unity Catalog
    dbx_uc_catalog = "catalog1"
    dbx_uc_schemas = '["schema1", "schema2"]'
    
    # Fabric
    fab_workspace_id = "<workspace_id>"
    fab_lakehouse_id = "<lakehouse_id>"
    fab_shortcut_connection_id = "<connection_id>"
    # If True, UC table renames and deletes will be considered
    fab_consider_dbx_uc_table_changes = True
    
  3. Ejecute todas las celdas del cuaderno para iniciar la sincronización de las tablas delta de Unity Catalog con OneLake mediante accesos directos. Cuando el cuaderno finalice, los accesos directos a las tablas Delta del catálogo de Unity estarán disponibles en el lakehouse, en el punto de conexión de SQL Analytics y en el modelo semántico.

Programación del cuaderno

Si desea ejecutar el cuaderno a intervalos regulares para integrar tablas delta del catálogo de Unity en OneLake sin resincronizar manualmente o volver a ejecutarlo, puede programar el cuaderno o usar una actividad de cuaderno en una canalización dentro de Fabric Data Factory.

En este último escenario, si tiene la intención de pasar parámetros desde la canalización, designe la primera celda del cuaderno como una celda de parámetros conmutables y proporcione los parámetros adecuados en la canalización.

Captura de pantalla en la que se muestran los parámetros de actividad del cuaderno.

Otras consideraciones

  • En escenarios de producción, use OAuth de Databricks para la autenticación y Azure Key Vault para administrar secretos. Por ejemplo, puede usar las utilidades de credenciales MSSparkUtils para acceder a los secretos de Key Vault.
  • El cuaderno funciona con tablas delta externas de Unity Catalog. Si usa varias ubicaciones de almacenamiento en la nube para las tablas del catálogo de Unity, como más de una instancia de ADLS Gen2, ejecute el cuaderno por separado para cada conexión en la nube.
  • No se admiten las tablas Delta administradas por Unity Catalog, las vistas, las vistas materializadas, las tablas de streaming y las tablas no Delta.
  • Los cambios en los esquemas de tabla del catálogo de Unity, como agregar o eliminar columnas, actualizan automáticamente los accesos directos. Sin embargo, algunas actualizaciones, como el cambio de nombre y eliminación de la tabla del catálogo de Unity, requieren una resincronización del cuaderno o una nueva ejecución. Este comportamiento se controla mediante el fab_consider_dbx_uc_table_changes parámetro .
  • En los escenarios de escritura, el uso de la misma capa de almacenamiento en distintos motores de proceso puede dar lugar a consecuencias no deseadas. Comprenda las implicaciones al usar diferentes motores de proceso de Apache Spark y versiones en tiempo de ejecución.