CategoríaBig Data

¿Qué son los procesos ETL?

1

Los científicos de datos, expertos en Big Data y analíticos de datos trabajan en su día a día en procesos ETL que permiten a sus organizaciones ser verdaderamente Data Driven, es decir, organizaciones cuyas decisiones de negocio están basadas en datos. 

También te puede interesar: Master en Data Science y Business Intelligence

Veamos en detalle algunas cuestiones sobre los procesos ETL para tener claro estos conceptos. 

¿Qué son los procesos ETL?

Los procesos ETL (Extract, Transform, Load) hacen referencia a un conjunto de técnicas, herramientas y tecnologías que permiten extraer datos de varias fuentes, transformarlos de forma que sean veraces y útiles, y cargarlos en otros sistemas con el fin de que puedan ser accesibles por los niveles de la organización que lo requieran.

Por tanto, estos procesos no son una herramienta o una tecnología en particular, sino un conjunto de todo aquello que tenemos que hacer para obtener información y conocimiento de los datos.

Todo proceso debe comenzar por una estrategia, y no por los datos. Es decir, hemos de plantarnos una serie de preguntas de negocio, sobre las que no tenemos las respuestas, pero sobre las que intuimos que los datos sí las tendrán. Por ejemplo: ¿Mis clientes se comportan respecto a un patrón? ¿Se pueden segmentar mis clientes de forma diferente que no veo a primera vista? ¿Mi cartera de productos y rotación de stock es la adecuada?

Video

Big Data en tiempo real

Descargar

¿Cuáles son las fases de una ETL?

ETL: Fase de extracción

La fase de extracción de un proceso ETL consiste en captar datos de varias fuentes. Estas fuentes pueden ser internas como un CRM, ERP o ficheros drive que tenemos almacenados en la nube, pero también suelen existir fuentes de datos externas de gran valor como Web Services de otros colaboradores, proveedores o clientes, ficheros de bases de datos abiertas, e incluso datos extraídos de la web como redes sociales u otras páginas.

Estos datos extraídos son guardados en su forma original en almacenes de datos, normalmente en sistemas cloud, para luego poder ser tratados.

ETL: Fase de transformación

Esta es la fase esencial del proceso. La fase de transformación consiste en procesar los datos de forma que sean coherentes con el modelo de negocio de la organización. En la fase de extracción, los datos capturados pueden estar categorizados como datos estructurados o no estructurados, y todos ellos han de ser transformados para poder obtener información de ellos. 

Master en Data Science y Business Intelligence

Aprende a trabajar el Machine Learning para anticipar y predecir el futuro

¡Quiero apuntarme!

Un dato estructurado será el más fácil de transformar pues en su formato original ya se suele encontrar en bases de datos relacionales como tipos de texto, numéricos, etc. Sin embargo, los datos no estructurados son mucho más complejos de transformar puesto que no poseen una estructura interna determinada. Nos referimos a datos de tipo PDF, mensajes de texto, vídeos, imágenes, emails, etc.

Ambos tipos de datos han de ser transformados de forma que sigan las reglas de negocio de la organización, es decir, han de ser normalizados, clasificados y verificados según el tipo de empresa en particular.

ETL: Fase de carga

Por último, la fase de carga de un proceso ETL consiste en almacenar los datos ya transformados en un sistema destino del que se puedan nutrir todas las áreas de la organización. Estos sistemas de almacenamiento reciben el nombre de Data Warehouse y son el origen de datos para distintas herramientas de analítica descriptiva, diagnóstica, predictiva y prescriptiva. 

¿Cómo desarrollar un proceso ETL?

Las opciones a la hora de desarrollar procesos ETL se pueden resumir en dos: Programación de la ETL, o bien, uso de herramientas. 

La opción de desarrollar completamente desde cero una ETL conlleva la gran ventaja de la flexibilidad y las capacidades casi ilimitadas de la ETL final, por el contrario, conlleva unos tiempos de desarrollo elevados y una depuración compleja en caso de errores. En este caso, el uso de lenguajes de programación como Python ayudan mucho a la consecución de logros por la gran cantidad de librerías existentes relativas al trabajo con datos.

La otra opción para desarrollar una ETL sería utilizar herramientas de terceros diseñadas para tal fin. En este caso, las ventajas son entre otras la simplicidad a la hora de realizar las transformaciones a través de interfaces muy visuales y un sistema de depuración mucho más ágil. Por el contrario, el coste es mayor y la flexibilidad del proyecto es menor. Herramientas ETL existen muchas, pero entre las más utilizadas encontramos a Pentaho, Talend, AWS Data Pipeline o Alteryx.

En todo proceso de desarrollo es clave la acción de documentar. En el diseño y desarrollo de una ETL la documentación es igualmente importante. Hay que decir que no existe un estándar para documentar este tipo de procesos, pero sí que existen ciertas recomendaciones como, por ejemplo, el desarrollo de gráficos que muestren el camino que siguen los datos.

¿Te ha resultado interesante este post? Si lo tuyo es la informática y la ciencia de datos, no te pierdas el Master en Data Science y Business Intelligence donde aprenderás, desde la práctica, a utilizar todas las herramientas que la Ciencia de Datos, el Big Data y el Business Intelligence y a utilizar algoritmos de IA, a través de Machine Learning para anticipar y predecir el futuro.

Master en Data Science y Business Intelligence

Aprende a trabajar el Machine Learning para anticipar y predecir el futuro

¡Quiero apuntarme!

Pascual Parada Torralba

Director de Innovación y Data de IEBS Business School, Pascual Parada es también asesor digital de Red.es para la realización de proyectos de transformación digital. Profesor de estrategia y operaciones... Leer más

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Síguenos en las redes