29
Obtención de Datos en #BigData @javituiter www.franciscojavierpulido.com

Obtención de Datos en #BigData

Embed Size (px)

DESCRIPTION

En #BigData se siguen patrones conocidos en Data Mining para el tratamiento de los Datos. El problema surge cuando tenemos que tratar grandes volúmenes de datos y realizar cargas incrementales en nuevas tecnologías que son capaces de soportar dicha carga.

Citation preview

Page 1: Obtención de Datos en #BigData

Obtención de Datos en #BigData

@javituiter

www.franciscojavierpulido.com

Page 2: Obtención de Datos en #BigData

LOS DATOS

Page 3: Obtención de Datos en #BigData

LOS DATOS

Page 4: Obtención de Datos en #BigData

DATOS

Page 5: Obtención de Datos en #BigData

VALOR

Page 6: Obtención de Datos en #BigData

Etapas Clásicas en Proyectos BigData

Preparación yTransformación de los Datos

Obtención de Datos

Almacenamiento

Procesamiento

Visualización

Page 7: Obtención de Datos en #BigData

¿Qué es la Obtención de Datos?

“Es la etapa en proyectos BigData en la que se estudian los datos de la fuente origen, se establecen procesos para su tratamiento, y estos son volcados de manera coherente en sistemas de almacenamiento.”

Page 8: Obtención de Datos en #BigData

Minería de Datos + Nuevas Tecnologías = Obtención de Datos

Page 9: Obtención de Datos en #BigData

Pero…¿Qué es para los equipos (con frecuencia) la Obtención de Datos?

“Es una etapa crucial, necesaria y a menudo infravalorada.”José Felipe Ortega, Científico de Datos de la URJC

30%

Ocupación Total en un proyecto:

Page 10: Obtención de Datos en #BigData

Pero…¿Qué es para los equipos (con frecuencia) la Obtención de Datos?

“Es una etapa crucial, necesaria y a menudo infravalorada.”José Felipe Ortega, Científico de Datos de la URJC

80%

Ocupación Total en un proyecto:

Page 11: Obtención de Datos en #BigData

RetosObtención de Datos

Page 12: Obtención de Datos en #BigData

Retos de esta Etapa (I)

Gestión de Múltiples Fuentes de Datos: Online Vs Offline

API

F. B.

. . .

Page 13: Obtención de Datos en #BigData

Retos de esta Etapa (II)

Técnicas de Obtención: Scraping, Streaming, APIs, HomeBrew…

Page 14: Obtención de Datos en #BigData

Retos de esta Etapa (III)

Diferentes formatos de representación

Teoría Pokemon

Page 15: Obtención de Datos en #BigData

Retos de esta Etapa (III)

Diferentes formatos de representación

Oracle Kettle Java …. Cassandra

Number Integer Integer …. Int

Ejemplo

Page 16: Obtención de Datos en #BigData

Retos de esta Etapa (IV)

Consolidación de los datos obtenidos

· En campos de tipo Fecha nos encontramos con Descripciones

· En campos de tipo Numérico nos encontramos con Fechas

…(infinitas combinaciones cuyo cometido es enfurecer al equipo)

Page 17: Obtención de Datos en #BigData

Retos de esta Etapa (V)

Movimiento de los datos

· A mayor cantidad de datos ocupa más volumen.

· Cuanto más ocupa, más lento se mueve en nuestro entorno:- Copiado entre servidores- Inspección de los datos- Transformación de los datos- Restauración de los datos

Page 18: Obtención de Datos en #BigData

Retos de esta Etapa (VI)

Construcción de Módulos/Plugins intercambiables para manejar cada tipo de fuente…

Page 19: Obtención de Datos en #BigData

Retos de esta Etapa (VI)

…por lo que debemos considerar diseños de colas de datos de entrada que gestionen:

Diferentes Velocidades

Datos Heterogéneos

Mantenimiento del orden de llegada

Page 20: Obtención de Datos en #BigData

Retos de esta Etapa (VII)

Importa la velocidad de ejecución

· En flujos de datos en tiempo real podemos perder datos si no los recuperamos a tiempo.

· Los tiempos de espera para fuentes muy grandes se pueden alargar demasiado (días, semanas, años <- )

Page 21: Obtención de Datos en #BigData

Retos de esta Etapa (VIII)

Límite de las fuentes: VENDOR LOCK-IN

Page 22: Obtención de Datos en #BigData

Algunas Técnicas deObtención de Datos

Page 23: Obtención de Datos en #BigData

Las Técnicas (I)

Sqoop

· Relacional· NoSQL

· Relacional· NoSQL

Hadoop

Page 24: Obtención de Datos en #BigData

Las Técnicas (II)

Comando COPY de Cassandra

- Desarrollar desde 0 un programa para lanzar múltiples instancias del comando (secuencialmente, ya que paralelamente estaba sujeto a errores de concurrencia)

- Paralelizable en varios nodos manualmente

Page 25: Obtención de Datos en #BigData

Las Técnicas (III)

Pentaho Data Integration - Kettle

- Gran herramienta para tratamiento de datos- Gran comunidad detrás- Interfaz amigable- Poco práctica en “El Mundo Real ™” actualmente

para ingestar volumen BigData

Page 26: Obtención de Datos en #BigData

Las Técnicas (IV)

Flume

- Herramienta exclusiva para la etapa de Obtención de datos

- Source- Channel- Sink- Interceptor

Page 27: Obtención de Datos en #BigData

Las Técnicas (IV)

Flume

Channel 1

Channel N

Source 1...

.

.

.

Source 2

Sink 1

Sink 2

Page 28: Obtención de Datos en #BigData

Las Técnicas (V)

Flume

.

.

.

Page 29: Obtención de Datos en #BigData

Gracias

@javituiter

www.franciscojavierpulido.com