Obtención de Datos
en #BigData
@javituiter
www.franciscojavierpulido.com
LOS DATOS
LOS DATOS
DATOS
VALOR
Etapas Clásicas en Proyectos BigData
Preparación y
Transformación de los Datos
Obtención de Datos
Almacenamiento
Procesamiento
Visualización
¿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.”
Minería de Datos + Nuevas Tecnologías =
Obtención de Datos
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:
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:
Retos
Obtención de Datos
Retos de esta Etapa (I)
Gestión de Múltiples Fuentes de Datos: Online Vs Offline
API
F. B.
. . .
Retos de esta Etapa (II)
Técnicas de Obtención: Scraping, Streaming, APIs, HomeBrew…
Retos de esta Etapa (III)
Diferentes formatos de representación
Teoría Pokemon
Retos de esta Etapa (III)
Diferentes formatos de representación
Oracle Kettle Java …. Cassandra
Number Integer Integer …. Int
Ejemplo
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)
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
Retos de esta Etapa (VI)
Construcción de Módulos/Plugins intercambiables para manejar cada tipo de fuente…
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
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 <- )
Retos de esta Etapa (VIII)
Límite de las fuentes: VENDOR LOCK-IN
Algunas Técnicas de
Obtención de Datos
Las Técnicas (I)
Sqoop
· Relacional
· NoSQL
· Relacional
· NoSQL
Hadoop
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
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
Las Técnicas (IV)
Flume
- Herramienta exclusiva para la etapa de
Obtención de datos
- Source
- Channel
- Sink
- Interceptor
Las Técnicas (IV)
Flume
Channel 1
Channel N
Source 1
.
.
.
.
.
.
Source 2
Sink 1
Sink 2
Las Técnicas (V)
Flume
.
.
.
Gracias
@javituiter
www.franciscojavierpulido.com

Obtención de Datos en #BigData

  • 1.
    Obtención de Datos en#BigData @javituiter www.franciscojavierpulido.com
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
    Etapas Clásicas enProyectos BigData Preparación y Transformación de los Datos Obtención de Datos Almacenamiento Procesamiento Visualización
  • 7.
    ¿Qué es laObtenció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.”
  • 8.
    Minería de Datos+ Nuevas Tecnologías = Obtención de Datos
  • 9.
    Pero…¿Qué es paralos 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:
  • 10.
    Pero…¿Qué es paralos 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:
  • 11.
  • 12.
    Retos de estaEtapa (I) Gestión de Múltiples Fuentes de Datos: Online Vs Offline API F. B. . . .
  • 13.
    Retos de estaEtapa (II) Técnicas de Obtención: Scraping, Streaming, APIs, HomeBrew…
  • 14.
    Retos de estaEtapa (III) Diferentes formatos de representación Teoría Pokemon
  • 15.
    Retos de estaEtapa (III) Diferentes formatos de representación Oracle Kettle Java …. Cassandra Number Integer Integer …. Int Ejemplo
  • 16.
    Retos de estaEtapa (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)
  • 17.
    Retos de estaEtapa (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
  • 18.
    Retos de estaEtapa (VI) Construcción de Módulos/Plugins intercambiables para manejar cada tipo de fuente…
  • 19.
    Retos de estaEtapa (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
  • 20.
    Retos de estaEtapa (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 <- )
  • 21.
    Retos de estaEtapa (VIII) Límite de las fuentes: VENDOR LOCK-IN
  • 22.
  • 23.
    Las Técnicas (I) Sqoop ·Relacional · NoSQL · Relacional · NoSQL Hadoop
  • 24.
    Las Técnicas (II) ComandoCOPY 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
  • 25.
    Las Técnicas (III) PentahoData 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
  • 26.
    Las Técnicas (IV) Flume -Herramienta exclusiva para la etapa de Obtención de datos - Source - Channel - Sink - Interceptor
  • 27.
    Las Técnicas (IV) Flume Channel1 Channel N Source 1 . . . . . . Source 2 Sink 1 Sink 2
  • 28.
  • 29.