Descubriendo el conector de Microsoft Fabric Lakehouse en Azure Synapse


En los anteriores artículos se describió como crear un Integration Runtime Self-Hosted de Azure Synapse y cómo copiar el contenido de un data lake a un lakehouse en Microsoft Fabric.
Si combinamos esas dos soluciones, podríamos establecer un pipeline en Synapse para obtener los datos de nuestro servidor local y transferirlos a un data lake para luego trasladarlos al lakehouse en Microsoft Fabric. Sin embargo, existe un atajo.
En este artículo, exploraremos el conector Microsoft Fabric Lakehouse, recientemente añadido a Azure Synapse y Azure Data Factory. Este conector es compatible con las siguientes funcionalidades:
Actividad de copia o Copy data (Source/Sink)
Dataflow (Source/Sink)
Actividad de búsqueda o Lookup
Actividad GetMetadata
Actividad de eliminación o Delete
Lo utilizaremos junto con la actividad Copy data de Azure Synapse para extraer datos de un servidor SQL Server 2022 local y almacenarlos en un lakehouse de Fabric en formato parquet.
Autenticación de entidad de servicio
Para utilizar la autenticación de entidad de servicio (service principal authentication) seguiremos estos pasos:
Registrar una aplicación
Accede al portal de Azure, busca «App registrations» y registra una nueva aplicación.
Una vez hayamos especificado el nombre de la app y la hayamos registrado, accedemos al apartado de Certificates & secrets y generamos un nuevo secreto
Después, anota estos valores para definir el servicio vinculado más adelante:
Id. de aplicación (cliente) (Application (client) ID), que es el identificador de entidad de servicio en el servicio vinculado.
Valor de secreto de cliente (Secret ID), que es la clave de entidad de servicio del servicio vinculado.
Id. de inquilino (Directory (tenant) ID)
Permisos en el área de trabajo de Microsoft Fabric
Una vez creada la entidad de servicio (service principal), accede al workspace de Microsoft Fabric donde se encuentra el Lakehouse y concede, al menos, el rol de Contributor.
Ve al área de trabajo de Microsoft Fabric, selecciona Administrar acceso (Manage access) en la barra superior y luego Agregar personas o grupos (Add people or groups).
Escribe el nombre de la entidad de servicio, selecciónala y especifica el rol como Colaborador.
Creación de un servicio vinculado de Microsoft Fabric Lakehouse
Para crear un servicio vinculado en Azure Synapse, hay que ir al apartado de Administración y seleccionar Servicios vinculados y clicar en el botón Nuevo:
Buscamos Microsoft Fabric Lakehouse y selecciona el conector
Configura los detalles de la conexión, seleccionando el tenant, área de trabajo y nombre del lakehouse o ingresando manualmente los IDs del área de trabajo y del lakehouse. En la autenticación, especifica:
Tenant: Especifica el Tenant ID.
Service principal ID: Id. de aplicación (cliente) (Application client ID) de la app registrada.
Service principal key: Valor del secreto (Client secret value)
Después de informar todo, haz clic en Test connection para verificar la conexión y crea el servicio vinculado.
Actividad Copy data
Una vez está todo configurado, vamos a crear el pipeline accediendo a la parte de Integrate de Azure Synapse
Ahora arrastramos la actividad Copy data al lienzo en blanco y procedemos a configurarla
Source
Crea el dataset para tu servidor local siguiendo estos pasos:
- Haz clic en new
- Busca y selecciona SQL server
- Selecciona el linked service creado con el IR self-hosted y selecciona la tabla de la cual deseas obtener los datos.
Debería quedar así:
Sync
En la parte de sync deberemos hacer lo mismo pero con el conector de Microsoft Fabric Lakehouse. Crearemos el dataset y buscaremos el conector
De los distintos tipos de fichero, seleccionamos parquet
Selecciona el servicio vinculado creado anteriormente que apunta al lakehouse de Fabric y especifica, si deseas, la carpeta y el nombre del archivo. En mi caso, como voy a obtener los datos de la tabla FactInternetSales, creo una carpeta con ese nombre y no especifico nombre para el archivo, que se generará automáticamente. Por último, en Import schema seleccionamos None.
Cuando ejecutemos el pipeline, creará la carpeta (si no existe) con el nombre que hemos especificado y encontraremos el fichero parquet en su interior.
NOTA*: El otro dataset disponible (Microsoft Fabric Lakehouse Table) se configura de manera similar, excepto que se especifica el nombre de la tabla del lakehouse y el resultado será una tabla delta.*
Subscribe to my newsletter
Read articles from Kilian Baccaro Salinas directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
