La Etapa de Obtención de Datos en BigData (I). Definición y Fuentes de Origen

20:07

Este Post pertenece a la serie "La Etapa de Obtención de Datos en BigData". A continuación tenéis el listado:

La Etapa de Obtención de Datos en BigData (I). Definición y Fuentes de Origen.
La Etapa de Obtención de Datos en BigData (II). Principales Retos.

Cuando comencé en esto del #BigData, el "hype" que generó a mi alrededor todo lo que tenía que ver sobre procesamiento y/o almacenamiento de los datos, me llevó a pensar que lo más duro (o al menos lo más decisivo) cuando participase en este tipo de desarrollos, iba a tener que ver sobre cómo aplicar hadoop, spark, cassandra, hbase, etc.

Si estáis igual de "hypeados" que yo en aquel momento, siento cortaros el "royo marketiniano", pero la experiencia que más sacrificio nos ha supuesto al equipo y a mi como Desarrollador Software especializado en #BigData, ha sido lograr realizar cargas de datos masivas de una base de datos relacional, a una base de datos "no sólo" relacional con éxito, y aunque os parezca algo extraño en este post vamos a ver "el por qué".

La importancia de los Datos

A medida que he ido ganando experiencia a través de la participación en distintos proyectos, he cambiado sibilinamente de opinión, acabando por pensar que lo más importante que hay en un proyecto #BigData son los datos, cosa aparentemente obvia, pero veremos que en entornos de trabajo no es 100% así.

Todo gira entorno a los Datos. La matería prima de #BigData

Si vamos al esquema de las etapas clásicas que definen a los proyectos #BigData, encontramos:

Etapa 1 - Obtención de Datos
Etapa 2 - Preparación y Transformación de los Datos
Etapa 3 - Almacenamiento
Etapa 4 - Procesamiento
Etapa 5 - Visualización

Depende del proyecto podremos encontrar alguna más, dada la naturaleza de las tareas que debamos desempeñar según los requerimientos del cliente.

Si, la primera etapa es la de "Obtención de Datos". Pero...¿en qué consiste esta etapa?. Según mi experiencia, he propuesto una definición:

Una ETL a lo grande.
"Es la etapa en proyectos #BigData en la que se estudian los datos de una fuente origen, ya sea online u offline, se establecen mecanismos y procesos para su tratamiento, y son volcados de manera coherente en sistemas de almacenamiento NoSQL."

Pero, ¿qué es y qué significa realmente para los equipos la etapa de "Obtención de Datos" en la gran mayoría de casos?:

La respuesta os la puede dar José Felipe Ortega, Científico de Datos e Investigador de la Universidad Rey Juan Carlos:

Es una etapa crucial, necesaria y a menudo infravalorada.

¿Qué os puedo contar yo, dadas mis experiencias?:

Cómo dijeron en alguna escena de la película 300 (ahora que está tan de moda, os recomiendo el visionado de ese momento para que sepáis que se siente más o menos ):

No va a ser rápido, no te va a gustar y no soy tu Rey.

Bromas a parte, esta fase nos consume hasta el 30% del tiempo/esfuerzo del proyecto, sin embargo tendemos a creer que seremos capaces de superarla con escasos problemas...craso error.

Ocupación del Tiempo/Esfuerzo de la Obtención de Datos en un Proyecto
Las personas encargadas de llevar a buen puerto la Obtención de Datos, deben ser expertos (persona experimentada) en la manipulación, tratamiento e ingestión de datos, así como especialista en tecnologías de almacenamiento #BigData, avisados quedáis.

Fuentes de Origen. Importancia, tipos (online/offline) y opinión.

Importancia

Mirad, la composición de facto de estos desafíos es cómo vamos a ser capaces de dar una solución al mar de datos que tienen las empresas, y que no usan adecuadamente o tienen desaprovechados. Sus fuentes de datos serán nuestras fuentes de origen, y tendremos que tener especial cuidado cuando nos metamos a inspeccionarlos y analizarlos. Hay que hacer ver al cliente la importancia que tienen sus datos, realizar reuniones inception que sincronicen nuestras opiniones y conocimientos, y que les haga partícipes y responsables, dado que el éxito/fracaso del proyecto se verá afectado por la calidad, transparencia y rigor de sus datos.

Tipos (online/offline)


Tipos de Fuentes de Datos: Online(API..) vs Offline(Fuentes de Búsqueda...)
· Online: me refiero a las API´s(twitter es un ejemplo) que nos proporcionan clientes o servicios, y que iremos ingestando en "tiempo real" a nuestros sistemas de almacenamiento NoSQL.

· Offline: suelen ser Fuentes de Búsqueda, normalmente bases de datos relacionales "mastodónticas" o sistemas de ficheros "gigantescos".

Opinión


Aunque si bien es cierto que he tratado con ambos tipos, las offline son las que más he tratado. El análisis de las fuentes, por mucho tiempo que lleve, será siempre una inversión, una garantía y un seguro de vida del proyecto.

Hasta aquí el post de hoy ;)

¡Nos vemos en la siguiente entrega!

You Might Also Like

2 comentarios

  1. Buenas Javi,
    creo que un 30% es ser demasiado optimista. En cualquier proyecto de BI o DM la parte de las ETLs (eso de llamar ingestión de datos es moda bigdata) toma entorno al 70-80% de tiempo de proyecto.

    Ahora con las nuevas fuentes de datos usadas en contadas ocasiones (como tu has dicho tienes más experiencia en offline) y están saliendo nuevas formas de abordar esos datos pero la filosofía continua la misma, la tecnología cambia... ahora en proyectos BA tenemos NoSQL de fuentes de datos o sistemas BigData, pero la filosofía de extracción, limpieza, conformado y entrega de datos

    que mania teneis de etiquetar bigdata cosas que ya tienen 20 años de historia... un simple diagrama de minería de datos http://goo.gl/C90Ve0 sigue tus etapas al pie de la letra

    Saludos

    ReplyDelete
    Replies
    1. Muy buena respuesta :)

      Gracias crack!

      Delete

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

statistics :: ヽ(*・ω・)ノ

Contact Form :: (」゜ロ゜)」