Categories
54cuatro

Comparativa entre herramientas de ETL

ETL es un acrónimo que significa Extracción, Transformación y Carga. Es un proceso utilizado en la gestión de datos para recopilar datos de diferentes fuentes, limpiarlo y transformarlo en un formato adecuado para su análisis y utilización en un sistema de información. Luego se carga en una base de datos o sistema de almacenamiento para su uso futuro. Es una técnica comúnmente utilizada en la integración de datos.

Existen herramientas open source, comerciales e incluso serverless provistas por cloud providers.
ETL (Extraction, Transformation & Load) – La Taberna del BI

¿Que herramienta de #ETL usar?

Talend es una plataforma de integración de datos que permite la conexión, la transformación y la integración de datos entre diferentes sistemas. Utiliza una interfaz gráfica de usuario para diseñar flujos de trabajo de integración de datos, lo que facilita la creación de tareas de integración de datos para usuarios sin experiencia en programación. Además, #Talend ofrece una amplia gama de componentes preconstruidos que se pueden utilizar para conectarse a diferentes fuentes de datos, como bases Talend Data Fabric - Opiniones, precios y características - Capterra Colombia 2023de datos, aplicaciones empresariales y servicios web. Estos componentes se pueden personalizar y combinar para adaptarse a las necesidades específicas de cada proyecto.

 

______________

Pentaho Data Integration (PDI) es una herramienta de integración de datos open-source que permite la conexión, la transformación y la integración de datos entre diferentes sistemas. Utiliza una interfaz gráfica de usuario para diseñar flujos de trabajo de integración de datos, conocida como Spoon, que facilita la creación de tareas de integración de datos para usuarios sin experiencia en programación.Qué es Pentaho Data Integration (PDI) y para qué sirve?

PDI tiene una amplia gama de componentes preconstruidos, llamados transformaciones y tareas, que se pueden utilizar para conectarse a diferentes fuentes de datos, como bases de datos, aplicaciones empresariales y servicios web. Estos componentes se pueden personalizar y combinar para adaptarse a las necesidades específicas de cada proyecto. También cuenta con herramientas para la limpieza y análisis de datos, así como para la generación de informes y la creación de dashboards.

PDI se utiliza en conjunto con el resto de herramientas de la suite Pentaho, como #Pentaho Report Designer y Pentaho Analyzer, para crear soluciones completas de Business Intelligence.

______________

Apache NiFi es una plataforma de flujo de datos open-source que permite la captura, flujo, transformación y distribución de datos a través de una interfaz gráfica de usuario fácil de usar. Es una herramienta altamente escalable y escalable que se puede utilizar para automatizar y optimizar los flujos de trabajo de datos en una variedad de entornos, desde pequeñas aplicaciones hasta implementaciones de gran escala.

Tus datos se cambian de casa? Apache NiFi te ayuda con la mudanza - Future Space S.A.

NiFi utiliza una arquitectura basada en flujos para organizar y controlar los datos, lo que permite a los usuarios crear flujos de trabajo de integración de datos mediante la arrastrado y soltado de componentes preconstruidos en una interfaz gráfica de usuario. Estos componentes, conocidos como procesadores, se pueden utilizar para realizar tareas como la captura de datos, la transformación de datos, la validación de datos y la distribución de datos a diferentes destinos.

#NiFi también cuenta con características avanzadas, como la capacidad de manejar y procesar datos en tiempo real, la seguridad y el control de acceso, y la monitorización y la gestión de flujos de trabajo. También tiene una integración con otras herramientas y tecnologías de big data, como Apache #Kafka, Apache #Storm y Apache #Hadoop.

Y que hay de los serverless, los que son ejecutados en las #cloud?

Azure Data Factory (ADF) es una plataforma de integración de datos en la nube de Microsoft que permite la conexión, la transformación y la integración de datos entre diferentes sistemas. Es un servicio en la nube que se ejecuta en Microsoft Azure y se utiliza para automatizar los flujos de trabajo de integración de datos.

ADF utiliza una interfaz gráfica de usuario para diseñar flujos de trabajo de integración de datos, llamados “pipelines”, que se componen de diferentes “actividades” que representan tareas específicas, como la copia de datos, la transformación y el procesamiento. Estas actividades se pueden utilizar para conectarse a diferentes fuentes de datos, como bases de datos, aplicaciones empresariales y servicios web, y para copiar y mover datos entre estos sistemas.

ADF también cuenta con herramientas para la automatización de tareas, como la planificación de trabajos y la generación de informes, y cuenta con integración con otras herramientas y tecnologías de Microsoft Azure, como #Azure Data Lake Storage, Azure SQL Data Warehouse y #PowerBI.

Ademas, ADF tiene la capacidad de escalar automáticamente para manejar grandes volúmenes de datos y también cuenta con una variedad de opciones de seguridad y cumplimiento.

______________

AWS Glue es una plataforma de integración de datos en la nube de Amazon Web Services (AWS) que permite la conexión, la transformación y la integración de datos entre diferentes sistemas. Es un servicio en la nube que se ejecuta en AWS y se utiliza para automatizar los flujos de trabajo de integración de datos.

AWS #Glue ofrece una interfaz gráfica de usuario para diseñar flujos de trabajo de integración de datos, llamados “jobs”, que se componen de diferentes “tareas” que representan tareas específicas, como la copia de datos, la transformación y el procesamiento. Estas tareas se pueden utilizar para conectarse a diferentes fuentes de datos, como bases de datos, aplicaciones empresariales y servicios web, y para copiar y mover datos entre estos sistemas.

AWS Glue también cuenta con herramientas para la automatización de tareas, como la planificación de trabajos y la generación de informes, y cuenta con integración con otras herramientas y tecnologías de AWS, como Amazon S3, Amazon Redshift y Amazon Athena.

Ademas, AWS Glue cuenta con un catálogo de metadatos, que permite a los usuarios registrar y gestionar información sobre sus datos, como estructura, relaciones y calidad de los datos. También tiene la capacidad de escalar automáticamente para manejar grandes volúmenes de datos y cuenta con opciones de seguridad y cumplimiento. Asimismo, AWS tiene otro servicio que se llama #DataPipeline.

AWS Data Pipeline es un servicio de #Amazon Web Services (#AWS) que permite automatizar la transferencia y la transformación de datos entre diferentes sistemas de almacenamiento y procesamiento de datos. Es un servicio en la nube que se ejecuta en AWS y se utiliza para crear flujos de trabajo de integración de datos y automatizar tareas relacionadas con la gestión de datos.

Con AWS Data Pipeline, los usuarios pueden crear flujos de trabajo de integración de datos mediante la definición de “tareas” y “relaciones” entre ellas. Cada tarea representa una actividad específica, como la copia de datos desde una fuente a un destino, la ejecución de una transformación o la ejecución de un script. Las relaciones entre las tareas definen el orden en que deben ejecutarse las tareas.

AWS Data Pipeline también cuenta con herramientas para la planificación automatizada de tareas, como la programación de trabajos y la generación de informes, y cuenta con integración con otras herramientas y tecnologías de AWS, como Amazon #S3, Amazon #RDS y Amazon EMR.

Ademas, AWS Data Pipeline tiene la capacidad de escalar automáticamente para manejar grandes volúmenes de datos y cuenta con opciones de seguridad y cumplimiento. También permite a los usuarios monitorear y supervisar el progreso de los flujos de trabajo y detectar y solucionar problemas de manera eficiente.

______________

Google Cloud Dataflow es una plataforma de procesamiento de datos en la nube de #Google Cloud Platform (#GCP) que permite la ejecución de tareas de procesamiento y transformación de datos a gran escala. Es un servicio en la nube que se ejecuta en GCP y se utiliza para crear flujos de trabajo de integración de datos y automatizar tareas relacionadas con la gestión de datos.

Con Cloud #Dataflow, los usuarios pueden crear flujos de trabajo de procesamiento de datos mediante la definición de “tareas” y “relaciones” entre ellas. Cada tarea representa una actividad específica, como la lectura de datos desde una fuente, la ejecución de una transformación, la escritura de datos en un destino. Las relaciones entre las tareas definen el orden en que deben ejecutarse las tareas.

Dataflow permite a los usuarios crear flujos de trabajo utilizando un lenguaje de programación #Java o #Python, y utiliza un modelo de programación de tuberías y filtros para procesar los datos. Ademas, Dataflow es escalable y maneja de manera automática la distribución y el balanceo de carga para procesar grandes volúmenes de datos.

Dataflow también cuenta con herramientas para la planificación automatizada de tareas, como la programación de trabajos y la generación de informes, y cuenta con integración con otras herramientas y tecnologías de GCP, como #BigQuery, Cloud Storage, Cloud Pub/Sub.

Esperamos que esta nota haya sido de interés, y si tienes dudas puedes ponerte en contacto con nosotros.

Contactate

 

 

Categories
54cuatro

Data Mesh. ¿Qué es?

Se viene hablando mucho sobre data mesh, y existen muy buenas explicaciones respecto al tema.

Muy buen video Zhamak Dehgani

#DataMesh o Malla de Datos, es un término que hace mención a la evolución de los pipelines de datos, abordado desde 4 dimensiones:

  • Propiedad y arquitectura descentralizada de datos orientada al dominio
  • Datos como producto.
  • Infraestructura de datos de autoservicio como plataforma
  • Gobierno federado.

Cada principio impulsa una nueva visión lógica de la arquitectura técnica y la estructura organizativa.

Para entender que es un #dominio, sugerimos leer acerca de DDD (domain driven design).

Objetivo de la Malla de Datos

En la actualidad existen 2 grandes modelos de gestión de datos, el #EDW (Datawarehouse) y el #Datalake, y aunque se impulsa un concepto híbrido denominado #lakehouse, la realidad es que sigue existiendo complejidades asociadas a las fallas constantes de los #ETL, un incremento exponencial de los #data #pipelines y eso genera cada día mayor necesidad de administración.

La malla de datos reconoce y respeta las diferencias entre estos dos planos: la naturaleza y la topología de los datos, los diferentes casos de uso, las personas individuales de los consumidores de datos y, en última instancia, sus diversos patrones de acceso. Sin embargo, intenta conectar estos dos planos bajo una estructura diferente: un modelo invertido y una topología basada en dominios y no en una pila de tecnología.- con un enfoque en el plano de datos analíticos.

El objetivo de la malla de datos es crear una base para obtener valor de los datos analíticos y los hechos históricos a escala . La escala se aplica al cambio constante del panorama de datos , la proliferación de fuentes de datos y consumidores , la diversidad de transformación y procesamiento que requieren los casos de uso , la velocidad . de respuesta al cambio .

Modelo de Data Mesh

Malla de datos

Descripción de los pilares

  • Propiedad y arquitectura descentralizada de datos orientada al dominio: este punto hace referencia a la transferencia de la propiedad de los datos a los responsables de dominio. Un experte de dominio según DDD es aquel con conocimientos específicos sobre un sector/área de la compañia, como gerencias, departamentos, etc. Esta transferencia hace que los expertos de dominios, sean los dueños y por ende se delega en ellos la responsabilidad de asegurar la calidad y seguridad de la data.
  • Datos como producto: en este punto, el objetivo es que los dominios sean capaces de generar sus productos de datos. Bajo un concepto de Product Owner, la idea es que cada responsable pueda mantener, validar y mejorar la calidad de la información; buscando que además la información sea colaborativa y pueda ser consumida por diferentes actores interesados.
  • Infraestructura de datos de autoservicio como plataforma: este ítem busca la simplificación de la gestión de la plataforma, permitiendo a los usuarios especialistas de dominios poder trabajar sobre la data sin depender de especialistas.
  • Gobierno federado: la importancia de la gobernanza no puede quedar de lado. Este punto refiere a la necesidad de cumplir con los puntos de seguridad/compliance/políticas corporativas, con el objetivo de asegurar la privacidad, el cumplimiento normativo y la seguridad.

Contactate

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.


    Por favor, demuestra que eres humano mediante la selección la bandera.

    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?

    Contactate
    Categories
    54cuatro

    Usar Bases Relacionales para Analítica

    Desafío planteado

    El cliente nos indica que tiene 2 bases de datos, una Oracle 11g y otra MSSQL2016 donde se guarda informacion de dos sistemas corporativos de tipo BSS, y ademas junto con esa data necesitaban enriquecer la info con algunos archivos que reciben en formato CSV de algunos proveedores, y que para poder analizarlos ejecuta algunos procesos manuales, suben todo a una base de datos intermedia y desde ahí hacían tableros de BI.

    Este proceso corría una vez por dia, involucraba la participación de una persona y no cumplía con los tiempos requeridos por el negocio.

    Nuestro cliente quería evaluar cuidadosamente si nuestra propuesta de inteligencia empresarial hacia sentido para ellos, motivo por el cual propusimos hacer este desarrollo como PoC (prueba de concepto), sin involucrar el armado de un datawarehouse ya que contaban con uno on-premise y tampoco quería instalar servidores ni adquirir nuevas licencias, de manera que teníamos que desarrollar una solución consumiendo de servicios de Nube.

    Solución Propuesta

    Durante la charla propusimos hacer uso de servicios serverless en la nube, Funciones en #AWS o #Azure, donde un script se ejecute para extraer la info, procesarla y dejarla disponible para analizar. Una especie de #ETL #serverless.

    Otra alternativa era armar una infraestructura de eventos con #Kafka o #NiFi. Pero como la solución tenia que ser bajo la premisa de no instalar equipamiento finalmente desistimos de esta opción.

    El boceto cuando armamos la call de Preventa

    Implementación

    Lo primero que hicimos fue eliminar los procesos de ETL que corrían hoy con SSIS, y la base intermedia desde donde conectaban la herramienta de BI.

    Posterior a eso, realizamos el desarrollo de código Python que se ejecuta sobre Azure Functions para tomar los CVS y Parquet de proveedores, extraer la información y llevarla a Data Lake Storage.

    Otra parte corre en Azure Data Factory, un integrador de datos con conectores pre-compilados que nos servían para tomar la info desde las bases relacionales y llevar los datos de manera automatizada, simplificando mucho la extracción de la info y el movimiento hacia Azure Data Lake Storage donde almacenamos lo que llegaba. A eso le sumamos Azure #DataBricks donde corremos la preparación de los datos.

    Databricks es una herramienta de Azure basada en #Apache #Spark que permite configurar de manera simple flujos de trabajo optimizados, dejando la data lista para que DBA, Data Scientist o incluso Analistas de Negocios, dispongan de la información para sus labores.

    Finalmente toda la capa de visualización fue armada en PowerBI, desde donde concentrábamos reportes según el perfil del usuario visualizador.

    Toda la solución lógicamente tiene componentes de seguridad, como Active Directory para la autenticación.

    Entre el assessment, la planificación, y ejecución del proyecto fueron 5 semanas de trabajo donde obtuvimos como resultado un producto de analítica casi en tiempo real, con un costo de menos de 500 USD mensuales pero que generaba insights claros de negocios donde antes no existían.

    Los resultados fueron excelentes porque dieron visibilidad de operaciones comerciales desconocidas. Esta buena recolección de resultados mostraron un ROI muy interesante que motivó avanzar en el proyecto a una Fase 2, que consistió en generar experimentos de Machine Learning organizados desde Databricks y que nos permitieron identificar los modelos con mejor rendimiento respecto al esquema de precios de la compañía.

    La combinación de Azure Databricks y Azure Machine Learning nos permitieron generar un ciclo de vida de ML orientado a predecir compras, comportamientos de clientes, y generar una adaptación del esquema de pricing que significó un aumento en las ventas de la empresa.


    Contactate

      Por favor, demuestra que eres humano mediante la selección el corazón.