Data Processing (parte1)

Introducción

“Los datos son el nuevo petróleo”

Esta es una frase que acuñó Clive Humby allá por el 2006, que ya ha llovido, y la verdad es que no puedo estar más de acuerdo con él, pero yo creo que le falta una segunda parte, quizás más importante aún.

“Pero hay que saber cómo procesarlos”

El procesamiento de datos, es una de las disciplinas con más auge e interés en el sector tecnológico, ya que es la base para poder obtener o desarrollar posteriormente soluciones basadas en datos, como por ejemplo Dashboards de Visualización de datos, desarrollar modelos de Machine Learning en cualquiera de sus sabores, o simplemente en un enfoque DataMesh, el proporcionar datos de calidad para ser usados por otras áreas de la empresa, o quizás incluso otras empresas.

Pero no nos engañemos, el procesamiento de datos no es una tarea fácil o sencilla, ya que tenemos que organizar, clasificar y limpiar, un montón de información que diferentes aplicativos o procesos previos no han tratado con la suficiente rigurosidad (siento el tirón de orejas), porque para obtener conclusiones o resultados de calidad, debemos tener en cuenta la siguiente máxima “Garbage In, Garbage Out”.

Por ello en esta ocasión comienzo con un conjunto de 3 posts en donde hablaremos sobre la manipulación de los datos.

  • En el primero, hablaremos sobre el origen y los 3 frameworks más relevantes que existen en la actualidad para la manipulación de datos, y que como veremos unas líneas más abajo, se solapan entre ellos, aunque no ahondaré mucho en ellos.
  • En el segundo, y sin centrarme en ningún framework en concreto, os mostraré cuales son los puntos que yo considero más relevantes a la hora de manipular nuestros datos, y que debemos tener en cuenta a la hora de procesar nuestros datos y dejarlos limpios y relucientes.
  • Por último y el tercero, hablaré sobre que no solo debemos procesar nuestros datos de forma correcta, si no que el procesamiento o los pipelines asociados para su procesamiento deben estar realizados con arte, finura y mucho control… ya lo leeréis en su momento en la tercera entrega…

Pero bueno, comencemos poco a poco a entender lo que es el procesamiento de datos.

El origen de todo

Empecemos por entender de dónde venimos, originalmente en nuestras empresas nos encontrábamos con que teníamos multitud de orígenes de datos, a los cuales era muy complicado el poder consultar, ya que teníamos lo que se consideraban “Silos de Información”, y era muy complicado el poder acceder (física y lógicamente a ellos), ya que cada uno de ellos tenían diferentes owners, formatos de los datos, formas de accesos, responsables de seguridad, etc. por lo que simplemente el acceso imponía una barrera de entrada importante, que muchas veces había que derribar, era lo que se denominaban Data Silos…

Por ello, y para facilitar el acceso a los datos, se desarrolló en un primer lugar el concepto de Data Lake, en donde el objetivo era el tener un repositorio de datos común y formato de acceso común, que de partida rompiese estos silos de datos, de forma que todos aquellos datos que fueran susceptibles de ser usados por el resto de la compañía se almacenasen en este punto único, y posteriormente fuesen usando en un Data Warehouse, en el desarrollo de modelos de Machine Learning, visualizaciones de datos etc.

Hasta aquí todo correcto, la idea es buena, pero resulta que esta es solo la mitad de la problemática, ya que se simplificó el acceso y su uso, pero se dieron cuenta que cada origen tenía los datos con su formato (fechas, unidades, etc.), había incorrecciones, datos vacíos o nulos, por lo que se dieron cuenta que necesitaban un paso previo que unificase criterios, formatos, tratamiento de errores, etc. y así asegurar una mínima calidad en los datos.

Sobre este proceso de Manipulación de los datos han surgido diferentes frameworks o metodologías, incluso con diferentes versiones o adaptaciones para cada uno de ellos, que pretenden cubrir en mayor o menor medida todo este proceso de ETL (Extract-Transform-Load), y que muchas veces llevan pequeños conflictos y/o pequeños malentendidos sobre lo que se debe o no se debe hacer, que entra en donde, etc.

  • El primero de ellos es el conocido como Data Wrangling o Data Munging.
Data wrangling, sometimes referred to as data munging, is the process of transforming and mapping data from one "raw" data form into another format with the intent of making it more appropriate and valuable for a variety of downstream purposes such as analytics. <Wikipedia>

Si nos fijamos, este modelo cubre conceptualmente la parte inicial del ciclo de vida de los datos, empezando por el descubrimiento de los datos, y acabando con su publicación para su uso, posterior, y aunque es bastante completo, no es el único que podemos encontrar ni cubre todo el alcance de la explotación de los datos.

  • El segundo framework, es el conocido como “Data Processing”
Data processing is the collection and manipulation of digital data to produce meaningful information. Data processing is a form of information processing, which is the modification (processing) of information in any manner detectable by an observer. <Wikipedia>

Que como vemos es bastante similar al anterior, pero tiene una importante diferencia, y es que vemos que el primero se centra en el entender, limpiar y publicar el dato, este último está más centrado en el consumo, análisis y uso de los datos.

  • Por último, nos encontramos con framework de “Data Quality”
Data quality refers to the processes, techniques, algorithms and operations aimed at improving the quality of existing data. <Wikipedia>

En este caso este framework se centra más en la parte de la limpieza de datos, analizándolos, localizando cuáles son sus errores, y en cierto modo arreglándolos.

Existen más aproximaciones, pero estas son las más conocidas, pero al final y como resumen todos ellos intentan trabajar sobre las siguientes premisas:

  • Mejorar la calidad, estructura, seguridad y disponibilización de los datos.
  • Acelerar el proceso de acceso y el análisis de los datos.
  • Permitir una mejor comparación de los datos y detección de patrones.

De forma que como objetivo final tenemos que “Facilitemos la toma de decisiones”

Conclusión

En esta primera parte, hemos visto las premisas del procesamiento de los datos y los frameworks más importantes usados dentro del mundo del procesamiento de los datos, pero también hemos visto que estos frameworks en cierto modo están solapados.

En los próximos 2 posts me centraré, desde mi punto de vista, en cuales son los puntos más importantes que se deben tener en cuenta a la hora de trabajar en el procesamiento de los datos, tanto en la manipulación de los datos (siguiente entrega), como en la orquestación de los mismos (tercera y última entrega).

Ebook IA

Tags

He leído y acepto la política de privacidad
Acepto recibir emails sobre actividades de recruiting NTT DATA