Qué es Azure DevOps
En este artículo hablamos sobre qué es Azure DevOps y para qué sirve, además de abordar sus características y los principales beneficios...
En este artículo hablamos sobre las características y cómo funciona Azure Data Factory, una de las plataformas de Big Data que nos ofrece Microsoft.
Tabla de contenidos
Entre las tantas plataformas de Big Data que nos ofrece Microsoft, no es sencillo conocer al detalle qué hacen y qué características poseen cada una de ellas, por eso, hoy nos centraremos en Azure Data Factory.
La definición que encontramos en la documentación de Microsoft es “Azure Data Factory es un servicio de integración de datos y ETL basado en la nube que le permite crear flujos de trabajo orientados a datos a fin de coordinar el movimiento y la transformación de datos a escala”. Lo esencial de esta definición es el objetivo final que logramos a través de esta plataforma: la coordinación de los movimientos de los datos y transformación mediante los flujos de trabajos.
La necesidad de integrar datos de múltiples fuentes dispersas y coordinar las tareas que conlleva la transformación de los datos en bruto a datos limpios y relevantes para nuestro análisis, implica tiempo y dinero, por lo que contar con una plataforma que simplifique este proceso es clave.
Azure Data Factory proporciona un conjunto de sistemas y herramientas interconectadas sin servidor para facilitar a las empresas la integración de sus datos, recopilándolos en un repositorio centralizado en la nube, a partir del cual se realicen actividades de preparación (limpieza), transformación y posterior conexión con plataformas analíticas. Ofrece un escalamiento horizontal.
Para entender cómo funciona, primero veamos cuáles son los seis componentes que conforman Azure Data Factory:
Lo primero es identificar cuáles son los orígenes de datos de nuestro interés (Datasource), crear las conexiones a estos, tomar los datos y copiarlos a un nuevo repositorio en la nube. Uno de los beneficios de Azure Data Factory es que cuenta con un amplio conjunto de conectores integrados que son compatibles con más de 90 tipos de almacenes de datos y proporciona una interfaz gráfica de usuario intuitiva (que no requiere de código). Con lo anterior, se agiliza la creación y administración de flujos de trabajos conocidos como pipelines (traducido a español como “canalizaciones”) para la ejecución de estas actividades de movimiento y carga de los datos de sus fuentes originales a su destino final.
Mediante los pipelines es posible administrar un grupo de actividades, gracias a lo cual se evita la administración de cada actividad por separado. Un pipeline puede contener una única actividad, o varias actividades. Estas actividades pueden agruparse para ejecutarse secuencialmente estableciendo dependencias entre una actividad y una o más actividades anteriores, o bien ejecutarse en paralelo de forma individual.
Los tipos de actividades soportadas por Azure Data Factory son:
En una actividad podemos trabajar sin ningún conjunto de datos de entrada o varios a la vez, y generar hasta más de un conjunto de datos de salida.
Para gestionar u ‘orquestar’ las actividades del pipeline se necesita un Control flow (flujo de control). Mediante este flujo de control se coordinarán diferentes tipos de actividades como:
Para crear los pipelines no es necesario empezar desde cero porque Azure Data Factory ofrece plantillas predefinidas que, sin duda, son de mucha ayuda para utilizarlos sin tanto conocimiento previo. Por mencionar algunas de las plantillas disponibles, están las siguientes:
La ejecución de los pipelines se hace mediante los triggers (desencadenadores), que serán los que indiquen cuándo es necesario ponerlos en marcha. Hay triggers de diferentes tipos según los eventos, con lo que un pipeline se ejecutará por programación, o también por petición de forma manual. En la ejecución manual de un pipeline se pueden incluir argumentos parametrizados para ser empleados por las actividades, aunque también se puede enviar parámetros en triggers programados.
Los parámetros no son más que valores de solo lectura en pares de clave-valor. Como ejemplo de parámetros encontramos:
Además de los parámetros, un pipeline trabaja con variables que contienen valores temporales y son útiles si se necesita pasar esos valores junto con los parámetros entre varios flujos de datos, actividades u otro pipeline.
Una vez que los datos estén cargados en nuestro repositorio centralizado, lo segundo, será procesarlos y transformarlos en datos significativos. Para estos procesos, se necesita la creación de Mapping Data Flows (flujos de datos de asignación) que se pueden hacer a partir de una biblioteca existente de rutinas reutilizables. Los flujos se pueden desarrollar manualmente (mediante código) si se prefiere, pero Azure Data Factory facilita el diseño de la lógica de transformación del flujo a través de un panel gráfico.
Las actividades de flujo de datos son las que hacen posible la ejecución de los flujos de datos de asignación, para lo cual, se deben pasar al pipeline, como valores de los parámetros, la información del entorno de ejecución de integración empleado.
Para las tareas de limpieza y transformación de los datos, Azure Data Factory soporta el uso de algunas funciones de M de Power Query porque está integrado con Power Query Online.
Al tener datos transformados, lo siguiente es su distribución y publicación. En Azure Data Factory se usan los servicios vinculados para vincular los conjuntos de datos con recursos externos o nuevos destinos como Azure Storage, Azure Synapse Analytics, Azure Data Lakes para ser almacenados, explorados y/o analizados por plataformas analíticas.
Recordemos, un servicio vinculado tiene como finalidad:
El entorno de proceso para la ejecución de los servicios vinculados y las actividades implicadas se encuentra en una instancia de Integration Runtime. Dependiendo de los requisitos del entorno, se debe seleccionar el tipo correcto de instancia, Azure Data Factory dispone de los siguientes tipos de Integration Runtime con compatibilidad de red pública y privada:
Para garantizar el buen funcionamiento de nuestro entorno de integración, es importante no olvidar incorporar flujos de controles y monitorear la correcta ejecución de los pipelines y actividades. Por ejemplo, mediante los paneles de Azure Monitor contaremos con la visualización del rendimiento de las actividades y supervisar cuando ocurren fallos en el entorno. Azure Data Factory es compatible con ésta y otras herramientas como Jira y Azure DevOps que facilitan la configuración de alertas y el seguimiento de todos los procesos.
A modo de resumen, los principales beneficios de Azure Data Factory son:
Para finalizar, si bien Azure Data Factory nos facilita la creación y automatización de flujos complejos de copia y transformación de datos, no ofrece todas las funcionalidades de una herramienta ETL, ni almacena datos como Azure SQL Database. Su principal característica es la coordinación de los movimientos de los datos en los flujos de trabajo.
La integración y mantenimiento de los almacenes de datos empresariales, requieren el uso de herramientas versátiles, seguras, escalables y capaces de integrarse rápidamente con otros sistemas.
Como hemos visto, Azure Data Factory nos ofrece una ágil integración sin código de nuestros datos de manera escalable en la nube, con lo cual, los ingenieros y analistas de datos ahorran tiempo y otros recursos en el descubrimiento de información valiosa para la empresa.
Si te ha gustado lo que te he contado y deseas empezar a utilizar Azure Data Factory, te dejo este enlace para acceder y Crear tu Data Factory mediante el Azure Portal y Azure Data Factory Studio.
También te puede interesar
En este artículo hablamos sobre qué es Azure DevOps y para qué sirve, además de abordar sus características y los principales beneficios...
Durante este taller aprenderás a crear un storage endpoint para vincularlo al almacenamiento. Además, limitarás el acceso a...
Si quieres aprender los conocimientos esenciales en protección de datos en Azure, este curso está diseñado para proporcionarte...