Categories
54cuatro

¿El ETL va camino a desaparecer?

Tremendo título marketinero, ¿no?

Por lo general, cuando los gurús pronostican este tipo de cambios tan drásticos suelen equivocarse feo, quedó demostrado durante la pandemia y el término “nueva realidad”.

Los cambios pueden ser graduales, pero rara vez un cambio viene dado por la desaparición completa de algo.

La realidad, es que el #ETL viene presentando varios cambios. Quizás el más significativo es el concepto de #ELT que viene empujado por las arquitecturas de #DataLake.

Escribimos varias notas de ETL y ELT. Pero ahora vamos a hablar del “ETLess” o Zero ETL.

#ZeroETL es un enfoque que busca reducir o eliminar la necesidad de realizar una extracción, transformación y carga (ETL) de datos en un proceso de análisis de datos. O al menos la necesidad de hacerlo de forma manual.

Por ejemplo, #Databricks y #Snowflake vienen trabajando en simplificar los procesos de Extracción, Transformación y Carga. Tanto Snowflake como Databricks tienen soluciones que se enfocan en reducir la complejidad y la necesidad de ETL tradicional.

Snowflake tiene una arquitectura de nube nativa que permite cargar y consultar datos en tiempo real, lo que reduce la necesidad de procesos de transformación y limpieza de datos complejos. También tiene funciones de preparación de datos incorporadas que permiten transformaciones en el momento de la consulta, lo que a menudo elimina la necesidad de ETL previo.

Por otro lado, Databricks cuenta con herramientas como Delta Lake y la funcionalidad de transformación de datos en tiempo real de Spark Streaming, lo que permite trabajar con datos en su estado natural, sin tener que extraerlos, transformarlos y cargarlos en un almacén de datos.

AWS es otro de los grandes impulsores del concepto de Zero ETL. El avance de la #IA hace que muchos expertos pongan las actividades manuales en la mira de la automatización. Pero la realidad es que estamos lejos de tal simplificación. cognitive data

Lo cierto es que los pipelines de datos están confluyendo hacia una mejorar canalización y transporte de la información, haciendo que las necesidades de ETL disminuyan. La práctica de la extracción, que solía ser muy costosa, se está simplificando por medio de conectores prefabricados que permiten integrar miles de plataformas con muy poca configuración de por medio. La transformación es la que sigue siendo un verdadero problema. La transformación implica la limpieza, validación, normalización, agregación y enriquecimiento de los datos para asegurarse de que sean precisos, coherentes y relevantes para su uso previsto. Pero aún la calidad de los datos sigue siendo un verdadero dolor de cabeza.

Desde tiempo atrás a hoy, se han desarrollado técnicas y creado herramientas más avanzadas para mejorar la calidad de los datos. La aparición de herramientas de integración de datos permitió la automatización de muchas tareas de limpieza y transformación de datos, lo que redujo el riesgo de errores humanos y mejoró la eficiencia.

Además, se han creado estándares de calidad de datos y se han establecido mejores prácticas para asegurar la integridad y la precisión de los datos.

Las necesidades de mayor información y el camino de las organizaciones hacia el #DataDriven, hace que la implementación de procesos de calidad de datos sea una tarea crítica para muchas organizaciones que dependen de los datos para tomar decisiones importantes.

Lo bueno es que la inteligencia artificial y el aprendizaje automático están permitiendo nuevas técnicas para mejorar la calidad de los datos, como la identificación de patrones de datos inconsistentes o la corrección automática de errores comunes; pero nace un nuevo problema de calidad relacionado con los sesgos cognitivos.

Los sesgos de datos son errores sistemáticos en la recopilación, el análisis o la interpretación de los datos que pueden generar conclusiones inexactas o incompletas. Los sesgos de datos pueden ser el resultado de diferentes factores, como la falta de representatividad de la muestra, la mala calidad de los datos, la falta de diversidad en los datos, la selección sesgada de las variables o la falta de contexto.

Los sesgos de datos pueden tener consecuencias negativas, como la toma de decisiones incorrectas o injustas, la discriminación y la creación de estereotipos. Para evitar los sesgos de datos, es importante tener en cuenta la calidad de los datos, la diversidad de la muestra, la objetividad en la selección de las variables, la transparencia en la metodología y el contexto en el que se recopilaron los datos.

Los sesgos en la data pueden ser un problema serio en cualquier etapa del proceso ETL, ya que pueden llevar a conclusiones incorrectas o discriminación en la toma de decisiones. Para abordar los sesgos de la data, es importante comprender las fuentes de sesgo, incluyendo la selección de datos, la recopilación de datos, el preprocesamiento y la interpretación de los resultados.

Es importante tener en cuenta la necesidad de tener datos no sesgados en todo el proceso ETL para garantizar que los resultados sean precisos y justos. Esto puede implicar la selección cuidadosa de datos de fuentes diversas, la revisión rigurosa de los datos para identificar y abordar cualquier sesgo, y la aplicación de técnicas estadísticas para garantizar la calidad y la integridad de los datos. Además, es esencial que se realice una revisión constante y periódica de la calidad de datos para asegurarse de que los datos sigan siendo precisos y no sesgados a lo largo del tiempo.

De manera que… ¿El ETL va camino a desaparecer?working in power bi

De nuestra parte creemos que no, ni los procesos ETL, ni los ELT, ni ETL inverso, ni nada. Ni cerca están de desaparecer. Nacerán nuevas y mejores técnicas, pero hay que seguir invirtiendo, esforzándonos y mejorando todos los procesos de Extracción, Transformación y Carga; porque para ser Data Driven se necesitan datos limpios.

Van 5 consejos para mejorar tus procesos ETL:

  1. Antes de comenzar cualquier proceso ETL, es importante analizar la fuente de datos y su calidad para determinar si se necesita limpieza o transformación previa. Si la fuente de datos es limpia y consistente, el proceso de ETL será más rápido y eficiente.
  2. Al limitar la cantidad de datos que se procesan durante el proceso ETL, se puede mejorar significativamente el tiempo de ejecución. Esto se puede lograr a través de filtros, consultas selectivas y otras técnicas que permiten seleccionar solo los datos necesarios para el análisis.
  3. El uso de herramientas y tecnologías modernas puede mejorar significativamente la eficiencia de un proceso ETL. Por ejemplo, el uso de plataformas en la nube como AWS o Azure, o herramientas de automatización como Airflow, puede reducir el tiempo y los recursos necesarios para realizar un proceso ETL.
  4. La automatización del proceso ETL puede reducir significativamente el tiempo y los recursos necesarios para completar un proceso de carga. La automatización también puede reducir la posibilidad de errores humanos y mejorar la calidad de los datos.
  5. Es importante monitorear y ajustar el proceso ETL continuamente para mejorar su eficiencia. Esto puede incluir el ajuste de parámetros de configuración, la optimización de consultas y la adición de nuevos filtros para reducir la cantidad de datos procesados.
Categories
54cuatro

Reseña de Azure Data Factory

Cómo conectar Azure Data Factory con un servidor SFTP, guardando las  credenciales en Azure Key Vault? | IfgeekthenEveris

Somos partners gold de Microsoft y quizás podría parecer que esta entrada es tendenciosa, pero la realidad es que siendo imparciales, #Azure Data Factory es una herramienta increíble, quizás, de lo mejor que hay un Azure junto con #DataBricks y #Synapse para la parte de datos.

¿Que es Data Factory?

Comencemos mencionando que es una herramienta totalmente administrada, basada en proveer servicios de integración de datos y #ETL que permite orquestar el transito de datos y las transformaciones.

Como característica adicional podemos mencionar que se adapta al pequeño cambio de #ETL a #ELT para modelos de #datalakes. Recordemos que ETL significa Extraer, Transformar y Cargar, mientras que ELT significa Extraer, Cargar y Transformar. En ETL, los datos fluyen desde la fuente de datos hasta la preparación y el destino de los datos. ELT permite que el destino de los datos realice la transformación, eliminando la necesidad de almacenar los datos. En esta nota hay mas informacion al respecto.

Por otro lado, y super importante de remarcar. ADF es la herramienta que “absorbe” los paquetes de SSIS cuando se lleva una base #MSSQL de on-premise a la nube.

Veamos a detalle. ¿Que puede hacer #ADF por nosotros?

Inteligencia empresarial automatizada - Azure Architecture Center |  Microsoft Docs

Estas son algunas características necesarias para correr ADF:

Pipelines:  un pipeline es una agrupación de actividades que es realizada como un proceso integrado. En un solo pipeline se pueden ejecutar todas las acciones referidas a la manipulación de datos necesaria por un proceso.

Activities: son justamente las actividades que se corren como parte de un pipeline. Son una acción explicita, como copiar datos a una tabla de almacenamiento o transformar datos.

Dataset: los conjuntos de datos son estructuras de datos dentro de los almacenes de datos, que apuntan a los datos que las actividades necesitan utilizar como entradas o salidas.

Triggers: estos triggers o en español desencadenantes son una forma de correr una ejecución de pipeline. Los desencadenadores determinan cuándo debe comenzar la ejecución de un pipeline, de acuerdo a 3 tipos de activadores:

  • Programado : este activador invoca una canalización a una hora programada.
  • Tumbling windows trigger : este desencadenador opera en un intervalo periódico.
  • Basado en evento: un activador que invoca una ejecución de pipeline cuando hay un determinado evento.

Tiempo de ejecución de integración: El tiempo de ejecución de integración (IR) es la infraestructura informática que se utiliza para proporcionar capacidades de integración de datos como flujo de datos, movimiento de datos, envío de actividades y ejecución de paquetes SSIS. Hay tres tipos de tiempos de ejecución de integración disponibles, que son:

  • Azure, para Flujo de datos, movimiento de datos, envío de actividades
  • Self hosted, para Movimiento de datos, envío de actividades
  • SSIS, para la ejecución de paquetes #SSIS (integration services de SQL)

¿Que alternativas existen a Data Factory?

Si vamos a un esquema cloud, AWS Glue y Data Pipelines, son productos de Amazon para competir con ADF. En el aspecto #OpenSource, Apache #Kafka junto a #NiFi podrían ser un competir muy digno.

Respecto a la parte de transformación, quizás pierde un poco respecto a sus competidores, por ejemplo contra #Pentaho.

La gran ventaja de los productos 100% cloud se da por la rápida integración hacia otros productos. Por ejemplo, en el caso de una plataforma de #IoT, ADF en pocos clics se integra a Azure Event Hub. O poder trabajar integrado a Azure DevOps para poder trabajar el desarrollo de las integraciones como si fuera un software normal.

Device To Cloud Connectivity with Azure IoT Hub | by Prosenjit Chakraborty  | Medium

Conclusión

Este es una simple entrada para mencionar y que conozcan Azure Data Factory. Es realmente muy poderosa y su capacidad para integrarse a otras herramientas la transforma en lo que solemos llamar ‘una navaja suiza’, donde podemos tomar la informacion, procesarla, limpiarla, darle formato y enviarla a un almacenamiento destino para su uso final, ya sean tableros de BI o modelos de Machine Learning, todo como un proceso end to end.


    Please prove you are human by selecting the tree.

    Categories
    54cuatro

    ETL inverso – La integración como motor del cambio

    Dentro de lo que llamamos Integración, existen distintos conceptos, distintas arquitecturas e incluso distintas herramientas a considerar.

    Elegir una plataforma de integración que permita capturar la data necesaria para ser utilizada es de vital importancia para lograr usabilidad y obtener valor de nuestra información.

    Hemos escrito muchas notas en nuestro blog sobre arquitecturas de integración de datos basadas en eventos (Event Stream). En este caso vamos a analizar como el caso de ETL inverso como flujo de eventos es igualmente importante. En los últimos años, con el crecimiento expansivo de la #analítica, han surgido cientas de herramientas de #Integración de Datos, principalmente impulsadas por el #marketing digital.

    Herramientas como Fivetran, Hightouch o la #OpenSource Grouparoo permiten crear un pipeline muy simple, de forma declarativa, de donde extraer informacion de varias fuentes y transportarla hacia un destino que permita utilizar esa data para análisis.

    Diferencias en los métodos

    Los procesos de ETL tradicionales fueron evolucionando. En la actualidad existen múltiples formas de Extraccion. De las mencionadas anteriormente Hightouch permite sincronizar datos con cualquier herramienta SaaS utilizando SQL, donde la sincronización de la tabla se puede modelar como un flujo de eventos. El modelo seria así:

    El resto utilizan Conectores prearmados, adecuándose a distintos métodos como conexiones a #API o por medio de SDK, como el caso de Fivetran:

    Como se mencionó mas arriba, este tipo de herramientas son impulsada por el marketing digital y suelen tener una fuente determinada de orígenes y destinos, muy relacionados a usar los datos para la mejora de campañas, customer experience, etc.

    La integración en otros segmentos

    Cuando vamos a un ambiente corporativo donde las necesidades de integración conlleva la extracción de datos para ser usados en casos de uso distintos al del marketing, apelamos por lo general a Extraer, Transformar y Cargar la informacion. Sin embargo, este proceso también ha cambiado mucho los últimos años. Hemos cambiado #ETL a ELT, y aunque la diferencia parezca solo una letra, en la practica el cambio es grande. En un proceso #ELT los datos sin procesar se Extraen (E) del sistema de origen y se cargan (L) en un almacén de datos o data lake y para luego ser transformados (T).

    Esta “pequeña” alteración del proceso hace que los equipos de Integración estén adoptando otro enfoque nuevo, llamado “ETL inverso”.

    Que es ETL Inverso

    En lineas generales, ETL inverso (o reverse ETL) es solo otra canalización de datos. El ETL inverso es lo que hacen las herramientas arriba mencionadas y algunas mas, como Headsup, Polytomic y Seekwell. Básicamente consiste en mover datos desde un almacén de datos a sistemas de terceros para hacer que los datos estén operativos, a través de conectores prestablecidos, tanto para la extracción como el procesamiento e inserción en el destino.

    Conclusión

    El enfoque ETL inverso está ayudando a redefinir la plataforma de integración de datos al permitir que los equipos de datos creen pipelines de extremo a extremo eligiendo las herramientas que mejor se adapten a sus casos de uso mediante conectores prestablecidos, creando una plataforma que incluya ETL tradicionales, ELT para estructuras de data lake y event streams para plataformas realtime. Las plataformas de integración deben ser lo suficiente flexibles para lograr una canalización que asegure el transito de datos hacia las fuentes o herramientas mas apropiadas para cumplir con los desafíos de negocios que nos propongan, muchas herramientas provistas por proveedores cloud, otras tantas herramientas open source y muchas otras comerciales nos están permitiendo tener un abanico de posibilidades de gran potencia.


    Queres saber mas?

    [popup_anything id=”2076″]