OpenWebinars

Cloud Computing

Azure Data Factory: Qué es y características

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.

Carol Cupas

Carol Cupas

Lectura 5 minutos

Publicado el 1 de abril de 2022

Compartir

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.

Qué es 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:

  1. Pipelines: son agrupaciones lógicas de actividades que se ejecutan en una instancia de trabajo
  2. Activities: son pasos dentro de un pipeline, estas son las acciones a realizar en los datos
  3. Datasets: son conjuntos de datos seleccionados de un almacén de datos
  4. Linked Services: son las conexiones (datos de conexión) para enlazar Azure Data Factory con servicios externos
  5. Data Flows: son rutinas gráficas de transformación reutilizables
  6. Integration Runtime: es una infraestructura (entorno de proceso) donde se gestionan las actividades de integración de datos

¿Cómo trabajan estos componentes en conjunto?

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:

  1. De movimiento de datos (o actividades de copia)
  2. De transformación de datos
  3. De control

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:

  • Agrupamiento de actividades secuenciales: Esto se realiza mediante condiciones de dependencias donde se configura que la salida de una actividad es la entrada de la siguiente actividad.
  • Ramificación de actividades: Emplea la cláusula de los lenguajes de programación IF donde se evalúa un conjunto de actividades u otro dependiendo de que se cumpla o no el criterio evaluado.
  • Creación de parámetros: Define valores a nivel del pipeline y se pasan argumentos
  • Traspaso de argumentos: Envío de los parámetros
  • Uso de un estado personalizado: Utiliza el estado final al completar una actividad en otra actividad.
  • Contenedores de bucle: Itera y ejecuta una serie de actividades en un bucle, tal como la cláusula ForEach.
Imagen 0 en Azure Data Factory: Qué es y características

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:

  • Plantillas de copia: Útiles para la copia masiva de archivos, base de datos, contenedores de archivos, copia entre almacenes de datos tales como Google Big Query, Amazon S3 a Azure Data Lake Store, entre otros.
  • Plantillas de SSIS: Útiles para programar y ejecutar paquetes SSIS
  • Plantillas de transformación: Útiles para gestionar tareas ETL con Azure Databricks

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:

  • Un conjunto de datos
  • Un servicio vinculado

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:

  • definir la información para la conexión de un almacén de datos
  • definir el vínculo a un servicio o proceso de destino

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:

  1. Azure: Admite los DataFlow, Copia de datos y Distribución de actividades
  2. Auto Hospedado: Admite la Copia de datos y Distribución de actividades
  3. SSIS de Azure: Admite la ejecución de paquetes SSIS

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:

  1. Cuenta con una interfaz web para arrastrar y soltar elementos de un flujo de transformación sin o poca codificación.
  2. Facilita la integración de datos de forma escalable en la nube.
  3. Ofrece compatibilidad con servicios de control y supervisión de flujos de datos y procesos.
  4. Ahorra la necesidad de administrar servidores por estar completamente administrada.
  5. Es fácil de empezar a utilizar y configurar.

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.

Compartir este post

También te puede interesar

Qué es Azure DevOps
Blog

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...

César Díaz Alcolea
Icono de la tecnología
Empresas

Segurizar el almacenamiento en Azure

Avanzado
33 min.

Durante este taller aprenderás a crear un storage endpoint para vincularlo al almacenamiento. Además, limitarás el acceso a...

Marc Corbalán
4.8
Icono de la tecnología
Empresas

Curso de Protección de datos en Azure

Avanzado
1 h. y 10 min.

Si quieres aprender los conocimientos esenciales en protección de datos en Azure, este curso está diseñado para proporcionarte...

Alejandro Almeida
4.5