La Etapa de Obtención de Datos en BigData (II) - Retos a superar

marzo 10, 2014

Seguimos con la serie de Posts sobre Obtención de Datos. A continuación tenéis los links:

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.

¿Cuáles son los retos de esta etapa?

A continuación veréis algunos motivos por los que llega a consumir tanto tiempo/esfuerzo y por lo que debemos crear un buen análisis del panorama antes de meternos en agujeros oscuros.

Reto 1 - Técnicas que utilizaremos



Para fuentes de Tipo Online:
· Scraping: todo buen programador que se precie ha toqueteado alguna vez sistemas de extracción de datos de documentos, ya sea para leer sus metadatos o el contenido del cuerpo. Si se realiza de contenido web, estamos hablando de web scraping, y se utiliza para la generación de crawlers por ejemplo. Tengo por ahí una aplicación que hice para android hace un par de años llamada Amaizon, que hace hacía lo mismo que camelcamelcamel.com, pero en versión móvil (aunque bastante más cutre).

· API´s: conexióna través de servicios que proporcionan sus datos en formatos XML, JSON, YAML... Con sus limitaciones, como veremos más adelante.

Para fuentes de Tipo Offline:
· Módulos/Plugins: programaremos herramientas para la carga de datos de manera masiva y coherente en sistemas de almacenamiento NoSQL.

· Programas/Desarrollos especializados: utilizaremos programas para la carga masiva/tratamiento de datos como Flume, Kettle...

Reto 2 - La Representación de los Datos



Conocidas son mis excentricidades por los seguidores habituales de este blog y en esta línea expondré lo que creo que es vital para realizar con éxito el proyecto:

Teoría Pokemon
· La teoría Pokemon: Como bien sabrá el "sector friki" que me lee, los pokemon son criaturas que evolucionan y cambian su forma, pero realmente estaremos ante el mismo pokemon. Algo así sucede con la representación de datos. Para que os hagáis a la idea del ciclo de vida del tipo de dato que recogemos hasta que tenemos que introducir en la base de datos NoSQL:


Esto que parece una tontería, una obviedad y que haría enfurecer a media comunidad científica y académica si pensara plantear esto por cauces oficiales, es con frecuencia la causa más extendida de pérdida de tiempo dentro de equipo si las cosas no se hacen bien desde el principio.

Recordad que el Dataset que nos llegue también podrá estar mal representado a su vez en los sistemas de origen.

Reto 3 - Consolidad los Datos Obtenidos



Debemos asegurarnos que el Dataset (fuente de origen completa) que vamos a tratar esté consolidado correctamente. Lo mejor es contarlo mediante un ejemplo:

"En una de las mil millones de filas que tengamos en el DataSet, en uno de sus campos tipo fecha, encontramos un número, sólo, aburrido, molesto, agotador."

Esto suele suceder cuando nuestro Dataset de origen es un dump de tipo texto plano. A saber que ha pasado en el export. Sea como sea, nuestro deber es limpiarlo todo y dejar los campos bien representados.

Reto 4 - Movimiento de los Datos



Aunque obvio, por regla general se nos suele pasar desapercibido que "¡estamos manejando cantidades gigantescas de datos!", por lo que tenemos que cambiar nuestra manera de interaccionar con ellos y adaptarnos a esta nueva situación, con las tecnologías existentes.

Reto 5 - Velocidad de Ejecución


Una vez ya tenemos todo en su sitio, consolidado correctamente, ordenado etc, debemos realizar la carga. Para ello hay que estudiar que herramientas, tecnologías y métodos serán los más adecuados. Lo normal es generar conocimiento en el equipo mediante benchmarking.

Reto 6 - Vendor Lock-In


Las fuentes de origen si son sistemas privados, van a poner impedimentos para que se traslade toda su funcionalidad a otros sistemas en la mayoría de casos. Por ejemplo, si tratas con Oracle, agárrate los machos, porque vas a sufrir mucho para tener una réplica del sistema.

Y aquí se dan por finalizados los post´s sobre Obtención de Datos. Espero que os haya gustado :)

You Might Also Like

0 comentarios

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

Contact Form :: (」゜ロ゜)」