Azure Data Factory es un servicio de integración de datos basado en la nube, que orquesta y automatiza el movimiento y la transformación de datos estructurados y no estructurados.
Con Data Factory, se pueden ingerir datos de distintos almacenes de datos, procesarlos, transformarlos y publicar los datos transformados en almacenes de datos destino.
El servicio de Azure Data Factory permite la creación de pipelines que mueven y transforman datos y permite ejecuciones programadas o lanzadas por algún trigger (creación de blob, llamada mediante API data factory, etc).
También podemos tener una visión de la interconexión entre los distintos pipelines definidos además de poder monitorizar las ejecuciones.
Componentes
En Data Factory tenemos los siguientes componentes:
- Dataset. Es un conjunto de datos que se puede definir como dataset de entrada o de salida. Admite distintos tipos, como por ejemplo AzureBlob, AzureSqlTable, etc.
- Activity. Es la mínima definición dentro de un pipeline, y define cada actividad posible a realizar, como por ejemplo una actividad de copia entre cuentas de almacenamiento, una actividad de llamada a una API o una que ejecuta un procedimiento almacenado.
- Pipeline. Es un grupo lógico de actividades con el objetivo de una tarea final. Un pipeline podría contener un conjunto de activities que ingieren y limpian una serie de datos, los analiza y los inserta en un SQL destino.
- Linked Service. Permite conectar Azure Data Factory con otros servicios como una Storage Account, un DataLake, SQL, etc.
Proceso
A continuación, vamos a definir el proceso que se sigue para el diseño de una infraestructura con Azure Data Factory:
- Diseño. En este paso se deben definir los objetivos y el flujo a seguir.
- Creación del servicio desde el portal de Azure, mediante Powershell o mediante un proyecto en Visual Studio.
- Creación de Linked Services. Creación de la conexión a los distintos servicios externos a Azure Data Factory.
- Creación de los datasets. Se crean los conjuntos de datos de entrada y de salida.
- Creación de las Pipelines. Se crearían todas las actividades necesarias para completar los distintos pipelines.
- Monitorización. En este paso, procedemos a monitorizar las distintas ejecuciones de los pipelines.
Ejemplo real
Un ejemplo en la vida real podría ser el siguiente:
Una compañía tiene una serie de dispositivos para el seguimiento del trabajo de sus empleados. Estos dispositivos van trazando toda la información (hora de inicio de la jornada, posición GPS, incidencias) en el servicio de APP Insight de Azure.
A continuación, lo que haríamos mediante Azure Data Factory es tratar esa información, limpiarla, darle formato y almacenarla en un destino (por ejemplo, una base de datos SQL) para que sea más legible y poder usarla de una forma más fácil.
Como uso final, podríamos usar la información tratada para sacar informes en PowerBI o bien iniciar un proyecto de Machine Learning.
¿Te has quedado con ganas de conocer más secretos de Azure Data Factory? ¡Estaremos hablando sobre todos sus secretos en el Global Azure Bootcamp de Málaga! Además, entre los asistentes, ¡estamos sorteando una Raspberry Pi 3! Te esperamos el 27 de abril en Kamstrup.