Compartir a través de


Habilitar federación de catálogo de OneLake

Important

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica habilitando la característica OneLake Read Federation en la página Versiones preliminares . Consulte Administración de versiones preliminares de Azure Databricks.

Después de habilitar la característica, debe reiniciar el clúster de proceso o SQL Warehouse.

En este artículo se muestra cómo leer datos en OneLake mediante la federación de catálogos. Esto permite que las consultas del catálogo de Unity se ejecuten directamente en OneLake Storage.

La federación de OneLake le permite analizar los datos almacenados en Lakehouse o Warehouse sin copiarlos, lo que proporciona análisis eficaces y funcionalidades de INTELIGENCIA ARTIFICIAL/BI en Azure Databricks directamente a los datos de OneLake. El acceso a datos es de solo lectura.

Antes de empezar

Debe cumplir los siguientes requisitos para ejecutar consultas federadas en OneLake mediante la federación del catálogo:

Requisitos del área de trabajo:

  • Área de trabajo habilitada para Unity Catalog.

Requisitos de proceso:

  • Conectividad de red desde su recurso de computación a los sistemas de bases de datos de destino. Consulte Recomendaciones de redes para Lakehouse Federation.
  • El procesamiento de Azure Databricks debe usar Databricks Runtime 18.0 o superior y el modo de acceso Standard. No se admite el modo de acceso dedicado.
  • Los almacenes de SQL deben ser profesionales y deben usar 2025.35 o superior. No se admiten almacenes sql sin servidor.

Permisos necesarios:

  • Para crear una conexión, debe ser administrador del metastore o un usuario con los privilegios CREATE CONNECTION y CREATE STORAGE CREDENTIAL en el metastore del catálogo de Unity adjunto al área de trabajo.
  • Para crear un catálogo externo, debe tener el permiso CREATE CATALOG en el metastore, y ser el propietario de la conexión o tener el privilegio CREATE FOREIGN CATALOG en la conexión.

Los requisitos de permisos adicionales se especifican en cada sección basada en tareas que se indica a continuación.

  • Debe tener permisos para crear recursos en Azure, configurar el acceso en Fabric y administrar el catálogo de Unity en Azure Databricks.
  • Métodos de autenticación admitidos:
    • Identidad administrada de Azure mediante un conector de acceso para Azure Databricks
    • Azure entidad de servicio
  • Después de habilitar esta característica beta, debe reiniciar el clúster de proceso o SQL Warehouse.

Se admiten los siguientes elementos de datos de Fabric:

  • Fabric Lakehouse
  • Fabric Warehouse

Configurar la federación del catálogo

Los pasos siguientes le guiarán a través de la creación de la conexión y el catálogo externo para la federación de OneLake.

Paso 1: Configuración de la autenticación de Azure

La federación de OneLake admite dos métodos de autenticación.

  • Identidad administrada de Azure (recomendada): usa un conector de acceso de Databricks con una identidad administrada.
  • Principal de servicio de Azure: usa una aplicación de Microsoft Entra ID con credenciales de cliente.

Opción A: Creación de un conector de acceso (identidad administrada)

Databricks Access Connector crea una identidad administrada que Azure Databricks usa para autenticarse con OneLake.

  1. En el portal de Azure, busque y cree un nuevo recurso Access Connector de Azure Databricks.

  2. Siga las indicaciones para crear el conector. Este recurso crea una identidad administrada asignada por el sistema.

  3. Registre el identificador de recurso del conector recién creado. Necesita este identificador al crear la credencial de almacenamiento del catálogo de Unity.

    El id. de recurso tiene el formato siguiente:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    

Para más información sobre cómo crear conectores de acceso y usar identidades administradas, consulte Uso de identidades administradas de Azure en el catálogo de Unity para acceder al almacenamiento.

Opción B: Registrar una entidad de servicio

Si prefiere usar un principal del servicio en lugar de una identidad administrada:

  1. En el portal de Azure, vaya a Microsoft Entra ID>Registros de aplicaciones y registre una nueva aplicación (o use una existente).
  2. Registre el identificador de aplicación (cliente) y el identificador de directorio (inquilino).
  3. En Certificados y secretos, cree un nuevo secreto de cliente y registre el valor del secreto.

Paso 2: Concesión de permisos en Fabric

Conceda permiso a la identidad administrada o a la entidad de servicio para leer los datos de Fabric.

  1. En el portal de Fabric, vaya al espacio de trabajo que contiene los elementos de datos de Lakehouse o Warehouse.
  2. En el área de trabajo, haga clic en el icono de engranaje de Configuración del área de trabajo y, a continuación, haga clic en Administrar acceso.
  3. Haga clic en Agregar personas o grupos.
  4. Busque y seleccione la identidad administrada o la entidad de servicio. En Identidad administrada, el nombre debe coincidir con el conector de acceso que creó anteriormente. Para una entidad de servicio, busque el nombre de la aplicación que registró.
  5. Asigne la identidad al rol Miembro como mínimo. También puede asignar roles de colaborador o administrador .
  6. Haga clic en Agregar.
  7. Compruebe que la identidad aparece en la lista de acceso con el rol adecuado. Los permisos en elementos individuales de Lakehouse y Warehouse se heredan del rol a nivel de área de trabajo.

Paso 3: Creación de una credencial de almacenamiento

Cree una credencial de almacenamiento en el catálogo de Unity que haga referencia a la identidad que configuró en el paso 1.

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.
  2. En la parte superior del panel Catálogo , haga clic en el icono Agregar o más más y seleccione Crear una credencial en el menú.

Si usa una identidad administrada:

  1. En el modal Crear una nueva credencial , en Tipo de credencial, elija Identidad administrada de Azure.
  2. En Nombre de credencial, escriba un nombre para la credencial de almacenamiento (por ejemplo, onelake_storage_cred).
  3. En ID del conector de acceso, escriba el identificador de recurso del conector de acceso que creó anteriormente.
  4. (Opcional) Agregue un comentario.
  5. Haga clic en Crear.

Si usted está utilizando un principal de servicio:

No se puede crear una credencial de almacenamiento de principal de servicio mediante el Catalog Explorer. Debe ser administrador de cuentas de Azure Databricks y usar la API de credenciales de almacenamiento. Por ejemplo:

curl -X POST -n \
https://<databricks-instance>/api/2.1/unity-catalog/storage-credentials \
-d '{
   "name": "<storage-credential-name>",
   "read_only": true,
   "azure_service_principal": {
      "directory_id": "<directory-id>",
      "application_id": "<application-id>",
      "client_secret": "<client-secret>"
   },
   "skip_validation": "false"
   }'

También puede crear una credencial de almacenamiento mediante el uso del proveedor Databricks Terraform y databricks_storage_credential.

Paso 4: Creación de una conexión de catálogo de Unity

Cree una conexión de Catálogo de Unity que use la credencial de almacenamiento para acceder a OneLake.

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.
  2. En la parte superior del panel Catálogo, haga clic en el icono de agregar o más y seleccione Crear una conexión en el menú.
  3. En la página Aspectos básicos de la conexión , escriba un nombre de conexión (por ejemplo, onelake_connection).
  4. Seleccione un tipo de conexión de OneLake.
  5. (Opcional) Agregue un comentario.
  6. Haga clic en Next.
  7. En la página Detalles de conexión, en Credencial, seleccione la credencial de almacenamiento que creó en el paso anterior (por ejemplo, onelake_storage_cred).
  8. En Workspace (Área de trabajo), escriba el identificador del área de trabajo de OneLake.
  9. Haga clic en Crear conexión.

Una vez creada la conexión, puede dejar este modal.

Paso 5: Crear un catálogo externo

Un catálogo externo vincula un elemento de datos de Fabric específico a un catálogo de Unity Catalog.

Obtención del identificador del elemento de datos de Fabric

  1. En el portal de Fabric, navegue al Lakehouse o almacén de destino.

  2. Copie el identificador del elemento de datos, que es un GUID (por ejemplo, f089354e-8366-4e18-aea3-4cb4a3a50b48).

    Puede encontrar este GUID en la interfaz de usuario de Fabric o copiarlo desde la dirección URL del explorador al navegar a Lakehouse o Warehouse:

    https://app.powerbi.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
    

Creación del catálogo

  1. En el área de trabajo de Databricks, haga clic en el icono Datos.Catálogo.
  2. En la parte superior del panel Catálogo, haga clic en el icono de agregar o más y seleccione Crear un catálogo en el menú.
  3. En el cuadro de diálogo Crear un nuevo catálogo , escriba un nombre para el catálogo (por ejemplo, fabric_sales).
  4. Seleccione un tipo de foráneo.
  5. Seleccione la conexión que creó en el paso 4 (por ejemplo, onelake_connection).
  6. En Elemento de datos, escriba el identificador de elemento de datos que copió desde el portal de Fabric.
  7. (Opcional) Haga clic en Probar conexión para validar la configuración.
  8. Haga clic en Crear.

El catálogo se sincroniza automáticamente, lo que hace que las tablas de Fabric estén disponibles inmediatamente.

Otorgar permisos en tablas federadas

Después de configurar la federación del catálogo, los usuarios deben tener los permisos adecuados del catálogo de Unity para acceder a las tablas federadas:

  • Todos los usuarios necesitan USE CATALOG y USE SCHEMA permisos en el catálogo y el esquema, respectivamente.
  • Para leer desde la tabla federada, los usuarios necesitan el SELECT permiso .

Para obtener más información sobre los privilegios del catálogo de Unity y cómo concederlos, consulte Administrar privilegios en el catálogo de Unity.

Consulta de datos de OneLake

Una vez completada la instalación, puede encontrar y consultar los datos de OneLake en el catálogo de Unity.

Navegar por el catálogo

  1. En el área de trabajo de Databricks, vaya al Explorador de catálogos.
  2. Busque el catálogo que creó (por ejemplo, fabric_sales).
  3. Expanda el catálogo para ver los esquemas y tablas sincronizados desde Fabric Lakehouse o Warehouse.

Realizar consultas

Usa la convención de nomenclatura de tres partes (catalog.schema.table) en Databricks SQL o en cuadernos.

SELECT COUNT(*)
FROM fabric_sales.silver.customer_details;
SELECT
  customer_id,
  customer_name,
  total_purchases
FROM fabric_sales.silver.customer_details
WHERE total_purchases > 1000
ORDER BY total_purchases DESC
LIMIT 10;

Limitaciones

La federación de OneLake tiene las siguientes limitaciones:

  • Acceso de solo lectura: SELECT solo admite consultas. Las operaciones de escritura no están disponibles.
  • Autenticación: Identidad administrada de Azure y principal de servicio de Azure son los métodos de autenticación admitidos.
  • Elementos de datos admitidos: solo se admiten elementos de Fabric Lakehouse y Warehouse.
  • Requisitos de proceso: debe usar Databricks Runtime 18.0 o superior. No se admite el modo de acceso dedicado ni el proceso sin servidor.