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.
Important
Esta característica está en versión preliminar pública.
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 cómputo de Azure Databricks debe utilizar Databricks Runtime 18.0 o superior y el modo de acceso estándar.
- Los almacenes de SQL deben usar 2025.40 o superior.
Permisos necesarios:
- Para crear una conexión, debe ser administrador del metastore o un usuario con los privilegios
CREATE CONNECTIONyCREATE STORAGE CREDENTIALen el metastore del catálogo de Unity adjunto al área de trabajo. - Para crear un catálogo externo, debe tener el permiso
CREATE CATALOGen el metastore, y ser el propietario de la conexión o tener el privilegioCREATE FOREIGN CATALOGen 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
Configuración del arrendatario de Fabric y del espacio de trabajo.
- Un administrador de Fabric debe habilitar la opción de configuración del arrendatario Las entidades de servicio pueden usar las API de Fabric. Esto permite que las identidades administradas y las entidades de servicio se autentiquen con Fabric. Para obtener más información, consulte Configuración del inquilino de la entidad de servicio.
- Un administrador de Fabric debe habilitar la opción Permitir que las aplicaciones que se ejecutan fuera de Fabric accedan a los datos a través de la configuración del inquilino de OneLake . Esto permite que Azure Databricks se conecte a OneLake Storage. Para obtener más información, consulte Permitir que las aplicaciones que se ejecutan fuera de Fabric accedan a los datos a través de OneLake.
- En el entorno Fabric que contiene los datos, se debe habilitar la autenticación con tokens SAS de OneLake delegados por el usuario. Vaya a Configuración del >Configuración delegada>Configuración de OneLake para habilitar esta configuración.
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. Este método admite la autenticación entre inquilinos, lo que permite a Databricks acceder a las áreas de trabajo de Fabric ubicadas en un inquilino de Azure diferente.
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.
En el portal de Azure, busque y cree un nuevo recurso Access Connector de Azure Databricks.
Siga las indicaciones para crear el conector. Este recurso crea una identidad administrada asignada por el sistema.
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:
- En el portal de Azure, vaya a Microsoft Entra ID>Registros de aplicaciones y registre una nueva aplicación (o use una existente).
- Registre el identificador de aplicación (cliente) y el identificador de directorio (inquilino).
- 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.
- En el portal de Fabric, vaya al espacio de trabajo que contiene los elementos de datos de Lakehouse o Warehouse.
- 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.
- Haga clic en Agregar personas o grupos.
- 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ó.
- Asigne la identidad al rol Miembro como mínimo. También puede asignar roles de colaborador o administrador .
- Haga clic en Agregar.
- 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.
- En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
- En la parte superior del panel Catálogo , haga clic en el
más y seleccione Crear una credencial en el menú.
Si usa una identidad administrada:
- En el modal Crear una nueva credencial , en Tipo de credencial, elija Identidad administrada de Azure.
- En Nombre de credencial, escriba un nombre para la credencial de almacenamiento (por ejemplo,
onelake_storage_cred). - En ID del conector de acceso, escriba el identificador de recurso del conector de acceso que creó anteriormente.
- (Opcional) Agregue un comentario.
- 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.
Explorador de catálogos
- En el área de trabajo de Azure Databricks, haga clic en
Catálogo.
- En la parte superior del panel Catálogo, haga clic en el
y seleccione Crear una conexión en el menú. - En la página Aspectos básicos de la conexión , escriba un nombre de conexión (por ejemplo,
onelake_connection). - Seleccione un tipo de conexión de OneLake.
- (Opcional) Agregue un comentario.
- Haga clic en Next.
- 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). - En Workspace (Área de trabajo), escriba el identificador del área de trabajo de Fabric.
- Haga clic en Crear conexión.
SQL
Ejecute el siguiente comando en un cuaderno o en el editor de consultas de Databricks SQL. Reemplace los valores de los marcadores de posición.
-
<connection-name>: un nombre para la conexión. -
<workspace-id>: El GUID de su área de trabajo de OneLake. -
<storage-credential-name>: el nombre de la credencial de almacenamiento que creó en el paso 3.
CREATE CONNECTION <connection-name> TYPE onelake
OPTIONS (
workspace '<workspace-id>',
credential '<storage-credential-name>'
);
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
En el portal de Fabric, navegue al Lakehouse o almacén de destino.
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.fabric.microsoft.com/groups/<workspace-id>/lakehouses/<data-item-id>?experience=power-bi
Creación del catálogo
Explorador de catálogos
- En el área de trabajo de Databricks, haga clic en
Catálogo.
- En la parte superior del panel Catálogo, haga clic en el
y seleccione Crear un catálogo en el menú. - En el cuadro de diálogo Crear un nuevo catálogo , escriba un nombre para el catálogo (por ejemplo,
fabric_sales). - Seleccione un tipo de foráneo.
- Seleccione la conexión que creó en el paso 4 (por ejemplo,
onelake_connection). - En Elemento de datos, escriba el identificador de elemento de datos que copió desde el portal de Fabric.
- (Opcional) Haga clic en Probar conexión para validar la configuración.
- Haga clic en Crear.
SQL
Ejecute el siguiente comando SQL en un cuaderno o en el editor de consultas SQL de Databricks. Los elementos entre corchetes son opcionales. Reemplace los valores de los marcadores de posición.
-
<catalog-name>: nombre del catálogo en Azure Databricks. -
<connection-name>: la conexión que creó en el paso 4. -
<data-item-id>: GUID de Fabric Lakehouse o Warehouse.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
data_item '<data-item-id>'
);
También puede especificar los siguientes parámetros opcionales:
CREATE FOREIGN CATALOG <catalog-name> USING CONNECTION <connection-name>
OPTIONS (
data_item '<data-item-id>',
item_type 'Lakehouse',
create_volume_for_lakehouse_files 'true'
);
-
item_type:Lakehouse(valor predeterminado) oWarehouse. -
create_volume_for_lakehouse_files:true(valor predeterminado) ofalse. Cuandotrue, crea un volumen para la/Filescarpeta de Lakehouse. Solo se aplica a los elementos de Lakehouse. Consulte Acceso a datos no estructurados.
El catálogo se sincroniza automáticamente, lo que hace que las tablas de Fabric estén disponibles inmediatamente.
Acceso a datos no estructurados
Important
El acceso a datos no estructurados para la federación de OneLake está en beta.
La federación de OneLake admite el acceso de solo lectura a los datos no estructurados almacenados en la carpeta /Files de un Lakehouse. Esto se logra mediante los volúmenes del Catálogo de Unity.
Cuando se crea un catálogo externo con create_volume_for_lakehouse_files establecido en true (valor predeterminado), se crea automáticamente un volumen en el esquema onelake-folders. Este volumen apunta a la carpeta /Files del Lakehouse y proporciona acceso de solo lectura a los archivos almacenados allí.
Puede examinar y leer archivos mediante la ruta de acceso del volumen:
LIST '/Volumes/<catalog-name>/onelake-folders/files/';
df = spark.read.format("binaryFile").load("/Volumes/<catalog-name>/onelake-folders/files/")
También puede consultar archivos estructurados directamente:
SELECT * FROM parquet.`/Volumes/<catalog-name>/onelake-folders/files/table.parquet`
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 CATALOGyUSE SCHEMApermisos en el catálogo y el esquema, respectivamente. - Para leer desde la tabla federada, los usuarios necesitan el
SELECTpermiso .
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
- En el área de trabajo de Databricks, vaya al Explorador de catálogos.
- Busque el catálogo que creó (por ejemplo,
fabric_sales). - 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: no se admite el modo de acceso dedicado.
- No se admiten tipos de datos complejos (matrices, mapas, estructuras).
- No se admiten vistas materializadas ni vistas.