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

Usando Airflow para Dataops

A medida que las personas que trabajan con datos comienzan a automatizar sus procesos, inevitablemente escriben trabajos por lotes. Estos trabajos deben ejecutarse según una planificación que generalmente tienen un conjunto de dependencias en otros conjuntos de datos existentes y tienen otros trabajos que dependen de ellos.

Apache Airflow

La gestión del flujo de trabajo se ha convertido en una necesidad tan común que la mayoría de las empresas tienen múltiples formas de crear y programar trabajos internamente. Siempre hay un buen programador cron para comenzar, y muchos paquetes de proveedores se envían con capacidades de programación. El siguiente paso es automatizar los pipelines, y es aquí donde aparecen algunas soluciones que permiten resolver problemas como el almacenamiento del estado de los trabajos y las dependencias.

Por lo general, estas soluciones crecen de manera reactiva como respuesta a la creciente necesidad de programar trabajos individuales. Vamos a conocer #Airflow, una aplicación escrita en #Python desde cero por los ingenieros de #Airbnb.

Airflow

Airflow nació dentro de Airbnb como respuesta a la falta de soluciones que satisfagan sus requerimientos. Luego el proyecto fue abierto bajo licencia Open Source como proyecto Apache.

Estos son algunos de los procesos impulsados ​​por Airflow en Airbnb:

  • Almacenamiento de datos: limpia, organiza, y verifica la calidad de los datos y publica datos en su almacén de datos
  • Análisis de crecimiento: calcula las métricas en torno a la participación de invitados y anfitriones, así como la contabilidad de crecimiento
  • Experimentación: calcula la lógica y agregados de marcos de experimentación de pruebas A / B
  • Orientación por correo electrónico: aplica reglas para orientar e involucrar a los usuarios de la plataforma a través de campañas de correo electrónico
  • Sesión: calcula el flujo de clics y el tiempo dedicado a los conjuntos de datos
  • Búsqueda: calcula las métricas relacionadas con el ranking de búsqueda
  • Mantenimiento de la infraestructura de datos: raspado de bases de datos, limpieza de carpetas, aplicación de políticas de retención de datos

La creación del pipeline también se realiza en Python, lo que significa que la generación dinámica de tuberías a partir de archivos de configuración o cualquier otra fuente de metadatos es algo natural.

Why we switched to Apache Airflow – Solita

Si bien se puede comenzar a usar Airflow con solo unos pocos comandos, la arquitectura completa tiene los siguientes componentes:

  • CLI (interfaz de línea de comandos) para probar, ejecutar, rellenar, describir y borrar partes de los trabajos.
  • Una aplicación web, para explorar la definición de sus trabajos, sus dependencias, progreso, metadatos y registros. El servidor web está empaquetado con Airflow y está construido sobre el marco web Flask Python.
  • Un repositorio de metadatos, generalmente una base de datos MySQL o Postgres que Airflow utiliza para control de los estados de tareas.
  • Una serie de workers que ejecutan las instancias de tareas de forma distribuida.
  • Procesos del planificador, que activan las instancias de tareas que están listas para ejecutarse.

Extensibilidad

Si bien Airflow viene completamente cargado con formas de interactuar con sistemas de uso común como Hive, Presto, MySQL, HDFS, Postgres y S3, y le permite activar scripts arbitrarios, los módulos base se han diseñado para ampliarse con mucha facilidad.

Existen operadores que aprovechan “hooks” para generar un cierto tipo de tarea que se convierten en nodos en los flujos de trabajo cuando se instancian. Todos los operadores derivan de BaseOperator y heredan un rico conjunto de atributos y métodos. Hay 3 tipos principales de operadores:

  1. Operadores que realizan una acción o le dicen a otro sistema que realice una acción.
  2. Los operadores de transferencia mueven datos de un sistema a otro
  3. Los sensores, son un cierto tipo de operadores que seguirán funcionando hasta que se cumplan ciertos criterios

Los ejecutores implementan una interfaz que permite que los componentes de Airflow (CLI, planificador, servidor web) ejecuten trabajos de forma remota. Airflow actualmente se envía con un SequentialExecutor (para fines de prueba), un LocalExecutor roscado y un CeleryExecutor que aprovecha Celery, una excelente cola de tareas asincrónicas basada en el paso de mensajes distribuidos.

Una interfaz de usuario brillante

Si bien Airflow trae una excelente línea de comandos, la mejor manera de monitorear e interactuar con los flujos de trabajo es a través de la interfaz de usuario web. Se puede visualizar fácilmente las dependencias de los pipelines, ver cómo progresan, obtener acceso a los registros, ver el código relacionado, desencadenar tareas, corregir falsos positivos / negativos, analizar dónde se invierte el tiempo y obtener una vista completa de como terminan las diferentes tareas. La interfaz de usuario también es un lugar donde se exponen algunas funciones administrativas: administrar conexiones, grupos y pausar el progreso en ejecuciones específicas.

Airflow: a workflow management platform - Airbnb Engineering ...

Ademas, y como plato fuerte, la interfaz de usuario sirve una sección de perfil de datos que permite a los usuarios ejecutar consultas SQL en las conexiones registradas, examinar los conjuntos de resultados y ofrecer una forma de crear y compartir gráficos simples. La aplicación de gráficos es una combinación de Highcharts, la interfaz CRUD de Flask Admin y las bibliotecas de hooks y macros de Airflow. Los parámetros de URL se pueden pasar al SQL en su gráfico, y las macros Airflow están disponibles a través de la plantilla Jinja. Con estas características, los usuarios de Airflow pueden crear y compartir fácilmente consultas, conjuntos de resultados y gráficos.

Un catalizador

Airbnb dice que como resultado del uso de Airflow, la productividad y el entusiasmo de las personas que trabajan con datos se han multiplicado. El proceso de creación se ha acelerado y la cantidad de tiempo de monitoreo y solución de problemas se reduce significativamente. Más importante aún, esta plataforma permite a las personas ejecutar a un nivel más alto de abstracción, creando bloques de construcción reutilizables, así como marcos y servicios de cómputo.
Para conocer mas sobre Airflow, este el sitio de Airbnb: https://github.com/airbnb/airflow


Contactate
Categories
54cuatro

Las diferentes etapas de la gestión de datos

Actualmente mucho se habla de #BigData y #DataScience, y sus beneficios. Pero es importante destacar que la informacion es algo común en todas las empresas, que los Reportes y Dashboards existen hace mucho tiempo y que no es necesario realizar inversiones grandes para sacar valor de nuestros datos. Actualmente se menciona el uso de la informacion como el “petroleo” de las compañías a raíz del gran valor que se obtiene, pero mas allá de una cuestión tecnológica una estrategia de datos requiere coordinación de distintas áreas, desde los sectores de negocios, hasta los sectores técnicos. En #54cuatro tenemos una metodología propia de gestión, basada en #DataOps para realizar acciones conjuntas entre sectores para lograr los objetivos de negocios planteados.

Infografía

Analisis de Datos
Las diferentes etapas en la Gestión de Datos. Clic para ver la imagen completa

Marco metodológico

Cuando iniciamos una consultoría basada en datos, es preciso identificar el tipo de proyecto, basado en el resultado esperado. No es el mismo abordaje el que se realiza en un proyecto basado en la búsqueda de ahorros operativos que un proyecto que busque monetizar los datos. Tampoco es igual un cliente de la industria manufacturera que un cliente de retail electrónico. Es por tal motivo que en #54cuatro trabajamos las necesidades de negocio ante una metodología propia de análisis.

Antes de abordar un proyecto de datos, debemos recordar que no es lo mismo definir Estrategia, Táctica y Técnica, y que el resultado exitoso dependerá en gran parte del planeamiento Estratégico, que contenga la Táctica y la Técnica para dar con el resultado propuesto.

1) En la Estrategia debemos definir aquellos elementos que seran necesarios para alcanzar un objetivo propuesto.

2) En la Táctica definimos propiamente el método utilizado a fin de dar con objetivo.

3) Y la Técnica es la forma de utilizar los recursos de manera eficiente para cumplir con lo propuesto.

A partir de esto es que nuestra metodología busca:

  • Entender los requisitos de negocios, ya que son el paso fundamental de todo proyecto, y para esta fase, un analista de negocios asignado debe ser especialista en la Industria/Rubro del cliente.
  • A partir de conocer que se busca, se plantean los objetivos, y como se alinearan las estrategias de negocios con las tácticas y técnicas para lograr los resultados.
  • Finalmente se desarrollaran tecnológicamente todas las soluciones que nos acerquen al objetivo.
  • Y finalmente serán presentados resultados con el fin de determinar el nivel de cumplimiento con lo buscado originalmente.

La presentación de resultados

Esta etapa es tan importante que podría hacerse una nota completa para esto. Saber comunicar los resultados es vital en todo proyectos de datos. Es necesario poder identificar la forma en que se mostraran resultados operativos, KPI, reportes, métricas, alarmas, etc. También es una condición fundamental lograr interpretar el publico al que dirigimos nuestra información, y poder saber cuando corresponde enviar un archivo, cuando podemos crear un tablero de #BI, o cuando necesitamos comunicar de otras maneras, ya sea haciendo #StoryTelling de la info o mandando un mail con un resumen.

Por ejemplo, si un gerente comercial quiere conocer un agrupamiento de ventas, que creen que querría ver:

En el gráfico 1 tenemos la salida de un agrupamiento realizado en #Python. En el gráfico 2, un Dashboard con informacion consolidada. No quedan dudas que un Dashboard es útil como Cuadro de Mando, no solo por la informacion, sino porque visualmente permite explorar datos complejos y conocer métricas claves de manera simple.

Un gran equipo técnico sin dudas logra buenos resultados explorando datos. Un gran equipo comercial lograr buenos resultados de negocios. Ambos equipos trabajando juntos, logran comunicar efectivamente, inspirar a los lideres a tomar mejores decisiones y generar excelentes resultados.

Ezequiel Bianucci – Growth 54cuatro

Contactate
Categories
54cuatro

Observatorio CoVid_19

Si te interesa conocer las estadísticas del #Coronavirus, podes visualizar toda la informacion, actualizada automáticamente de forma diaria haciendo clic acá abajo

Coronavirus

Coronavirus

Es un desarrollo hecho en #Python y graficado con el modulo Dash de #Plotlypor el equipo de #54cuatro.

Contactate

Categories
54cuatro

El triatlon y su relación con el mercado laboral de IT

Hace unos años atrás los triatletas no eran #triatletas de nacimiento. Para los que no saben, el triatlon como deporte es relativamente joven. El #triatlon #Ironman, nació en 1978, del desafío acerca de sus cualidades como atletas de un #nadador, un #ciclista y un #maratonista. Y la International Triathlon Union que regula el triatlon olímpico fue fundada en 1989. Hasta hace poco tiempo, las competencias eran ganadas por ex nadadores devenidos en triatletas, ex ciclistas devenidos en triatletas o ex maratonistas devenidos en triatletas.

Gonzalo D’Angelo – CTO de 54cuatro y 3x Ironman


Con el pasar de los años naciendo deportistas formados como triatletas desde su infancia. Su fortaleza no reside en nadar, en pedalear o en correr, de forma individual, sino en ejecutar las 3 disciplinas de forma eficaz, permitiendo generar marcas asombrosas en cada carrera.
Y porque esta introducción? En la tecnología esta pasando algo similar. Ex sysadmins devenidos en #DevOps. Ex administradores de storage transformados en Cloud Specialist. Ex #DBA que mutaron a roles de #BigData. Ni que hablar de los programadores. Con el auge de #Python y #R, muchos fueron variando sus perfiles hacia este lenguaje.


Todos sabemos el déficit de profesionales de IT, pero también sabemos que es necesario lograr perfiles de especialistas en poco tiempo. La industria de los videojuegos crece YoY de manera sustancial, una demanda que crece por muchos sobre la oferta de recursos. De igual manera, la industria basada en datos, crece al ritmo de la generación de datos. Las necesidades de recursos como #DataEngineers y #DataScientist son cada vez mayores. Incluso gracias al auge del análisis de informacion, se han sumado al IT tradicional muchos especialistas en estadísticas (desde matemáticos hasta economistas) que han logrado aportar un gran valor a la generación de algoritmos.

Ni que hablar la unión de los mundos físicos y lógicos, que vienen de la mano de las tecnologías 4.0. Electrónica, Robótica, Seguridad Informática, Desarrollo, Análisis de datos. Lo que hasta hace poco eran actividades con algunos puntos de contacto hoy son un subconjunto en el marco de la revolución 4.0.

Industria 4.0 (Monty Rakusen / Getty)

Entidades como el #ITBA o #DigitalHouse vienen haciendo un trabajo estupendo, aggiornando su curricula, desarrollando programas específicos, pero es necesario habilitar de forma inmediata la especialización de la formación desde etapas tempranas para generar nuevos Ingenieros, con dotes de #Desarrolladores, #Ingenieros y Cientistas de Datos, Especialistas de Seguridad, ligados de forma temprana a Ingenieros eléctricos, civiles, en robótica, para que las industrias puedan lograr cubrir la demanda de profesionales; y porque no también pensar en Ingenieros en Videojuegos o en Industria 4.0.

Contactate

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