Table Of ContentSISTEMA DE INFORMACIÓN PARA EL
ANÁLISIS INTELIGENTE DE DATOS
MASIVOS. APLICACIÓN A UN
ENTORNO REAL.
Por Carlos Alberto Silva Hoyos
Universidad Pablo de Olavide
Tutor: Francisco Martínez Álvarez
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
P ágin a 1 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
La verdad que en estos momentos en los que se termina la gran
elaboración de un proyecto, recuerdas muchos momentos y a muchas
personas. El por dónde empezar a agradecer, es lo más complicado.
Uno no piensa nunca en lo complicado que se puede hacer realizar una
formación mientras trabaja, pero lo gratificante que puede llegar a ser, que
alguien, concretamente, mi tutor, Francisco Martínez Álvarez, me apoye para
el envío de esta memoria y que, a pesar de sus constantes achaques de salud,
haya estado apoyándome y dándome ánimos para continuar hasta,
literalmente, el último minuto.
Agradecer a Raúl Giráldez por ofrecerme cercanía en este proyecto y
poder trabajar con sus datos. Sin él esto no podría haber sido posible.
Quiero agradecer a mis compañeros de este master, a los que no han
llegado a entregar y a los que han entregado, puesto que la agonía la hemos
compartido entre todos.
Gracias a mis compañeros y amigos del CIC e infraestructura. Todos
han supuesto un constante apoyo para mí, gran parte de este merito se lo
debo a ellos que me han enseñado la mayoría de lo aprendido; Jorge, Javier,
Eva, Antonio, Fátima, Víctor, Jacob, Raúl, María José, María, Sara, Fernando,
José Luís, etc., concretamente, todos sin excepción de ninguno.
Gracias a nuestro grupo de becarios del CIC, Iván, Juan José y Antonio.
Me habéis ayudado mucho en este camino, ya sea para superarme o para
que me sintiera mejor en los momentos duros, gracias amigos.
Agradezco a Fran, por compartir este duro camino y día a día ir
sobreponiéndonos a todo lo que nos impedía avanzar. Gracias Fran, te debo
la mitad de este master, gracias por tirar de mí cuando yo no podía tirar de
ti. Me llevo un tesoro de este master.
Peri, me gustaría que supieras lo agradecido que estoy y estaré
siempre de que seas un buen amigo mío. Sin tus puntos claves quizás nunca
habría terminado.
Gracias a mis dos grandes hermanos. Numerosas han sido las noches
en las que me hacíais compañía mientras yo estudiaba y en la que me habéis
P ágin a 2 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
aguantado algún que otro desplante, por haber estado desquiciado. Os debo
más de lo que pensáis y agradezco todo lo que por mi habéis hecho.
Agradezco a mi cuñada, todo lo que ha hecho por mí y no niego que
eche de menos su comida y sus dulces, gracias. Además de esto, me
arrepiento del tiempo que no he podido disfrutar con mis dos niños que tanto
quiero y que tantos buenos ratos me habéis hecho pasar en vuestro
crecimiento.
Agradezco a mi padre, por estos últimos días no darme muchos
quebraderos de cabeza, pero sobre todo agradezco que me haya inculcado el
ser “cabezón” en mis cosas, quizás sin esa perseverancia no hubiera logrado
esto.
Quiero agradecerles a mi tía y primas, los momentos de apoyo
constante y el saberme escuchar cuando me encuentro frustrado. Muchas
gracias.
Por último, agradecer a las dos personas que más quiero en este
mundo. En primer lugar, a mi compañera de viaje, es la persona que me
aguanta y a la que le agradezco todo, sin ella ni este proyecto ni otros
anteriores podrían haberse acabado nunca, gracias y decirte que no voy a
tener vidas para agradecerte.
A la última persona sólo quiero decirle que, aunque no te pueda ver y
nunca pueda decirte lo que siento, me gustaría decirte que la fuerza que le
echo a la vida es porque tú me lo recuerdas cuando se me olvida. Después
de dicho esto sólo me queda decirte gracias.
Espero no se me olvide nadie y si alguien no forma parte de este
apartado, que me perdone. GRACIAS A TODOS.
P ágin a 3 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
í
P ágin a 4 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
P ágin a 5 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
P ágin a 6 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
Contenido
Introducción ............................................................................................................................ 13
Motivación del proyecto ................................................................................................. 13
Objetivos .............................................................................................................................. 15
Estructura de la memoria .............................................................................................. 15
Estado del arte ...................................................................................................................... 19
Introducción ........................................................................................................................ 19
Un poco de historia sobre el tratamiento de los datos ...................................... 21
Pero, ¿qué es Big Data? ................................................................................................. 26
Las 3 Vs (Volumen, Velocidad y Variedad)............................................................. 28
Big Data Analytics ............................................................................................................ 31
Casos de éxito ................................................................................................................... 35
T-mobile ........................................................................................................................... 36
Bristol-Myers Squibb ................................................................................................... 37
Unilever ............................................................................................................................ 37
Moneyball ......................................................................................................................... 38
Herramientas utilizadas ..................................................................................................... 41
Hadoop.................................................................................................................................. 41
Definición ......................................................................................................................... 41
Características ............................................................................................................... 45
Modo de uso ................................................................................................................... 46
Spark ..................................................................................................................................... 47
Definición ......................................................................................................................... 47
Características ............................................................................................................... 52
Modo de uso ................................................................................................................... 53
Hive ........................................................................................................................................ 54
Definición ......................................................................................................................... 54
Características ............................................................................................................... 55
Modo de uso ................................................................................................................... 56
Desarrollo y diseño de la solución ................................................................................. 59
Introducción ........................................................................................................................ 59
Diseño ................................................................................................................................... 59
Diseño I ............................................................................................................................ 60
P ágin a 7 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
Diseño II .......................................................................................................................... 61
Diseño III ......................................................................................................................... 63
Desarrollo ............................................................................................................................ 65
Parte I: Base de datos MySQL ................................................................................. 65
Parte II: Caja negra..................................................................................................... 67
Configurando las pruebas .......................................................................................... 83
Pruebas ..................................................................................................................................... 92
Desarrollo ............................................................................................................................ 92
Desarrollando el servicio web .................................................................................. 93
Consumiendo el servicio web ................................................................................... 97
Utilización de una aplicación BI ................................................................................ 100
Conclusiones y mejoras futuras .................................................................................... 117
Conclusiones ..................................................................................................................... 117
Mejoras futuras ............................................................................................................... 118
Bibliografía ............................................................................................................................ 121
P ágin a 8 | 123
Sistema de información para el Análisis Inteligente de datos masivos. Aplicación a un entorno
real. | Carlos Alberto sh
Tabla de ilustraciones
Ilustración 1: Las 3 Vs ........................................................................ 29
Ilustración 2: Las 3Vs adicionales ........................................................ 30
Ilustración 3: Las 4Vs ......................................................................... 30
Ilustración 4: Proceso KDD ................................................................. 31
Ilustración 5: Conceptos alrededor de Big Data Analytics ........................ 33
Ilustración 6: Logo Hadoop ................................................................. 41
Ilustración 7: Tres pilares básicos ........................................................ 42
Ilustración 8: MapReduce ................................................................... 43
Ilustración 9: Petición y almacenamiento en Hadoop .............................. 45
Ilustración 10: Logo de Spark ............................................................. 47
Ilustración 11: Diagrama acíclico dirigido .............................................. 48
Ilustración 12: DAG con transformaciones (Rojo) y operaciones (Verde) ... 49
Ilustración 13: Modularidad de Spark ................................................... 51
Ilustración 14: Componentes de la ejecución distribuida de Spark ........... 52
Ilustración 15: Logo de Hive ............................................................... 54
Ilustración 16: Diseño I ...................................................................... 60
Ilustración 17: Diseño II ..................................................................... 62
Ilustración 18: Diseño III .................................................................... 64
Ilustración 19:Base de datos MySQL .................................................... 65
Ilustración 20: Instrucción de MySQL ................................................... 66
Ilustración 21: Login de PhpMyAdmin ................................................... 67
Ilustración 22: Caja negra .................................................................. 68
Ilustración 23: Versión OpenJDK.......................................................... 68
Ilustración 24: Variables de entorno de Hadoop ..................................... 69
Ilustración 25: Conexión SSH .............................................................. 70
Ilustración 26: Configuración core-site.xml ........................................... 71
Ilustración 27: Configuración hdfs-site.xml ........................................... 72
Ilustración 28: Configuración yarn-site.xml ........................................... 72
Ilustración 29: Configuración mapred-site.xml ...................................... 73
Ilustración 30: Levantando Hadoop (obsoleto) ....................................... 73
Ilustración 31: Levantando Hadoop 1 ................................................... 74
Ilustración 32: Levantado namenode y datanode ................................... 74
Ilustración 33: Levantando Hadoop 2 ................................................... 74
Ilustración 34: Levantado Yarn ............................................................ 75
Ilustración 35: Demonios levantados .................................................... 75
Ilustración 36: Página principal de Hadoop ............................................ 76
Ilustración 37: Explorador de Hadoop ................................................... 76
Ilustración 38: Muestra de HDFS ......................................................... 77
Ilustración 39: Modos de construir Spark .............................................. 78
Ilustración 40: Variables de entorno de Spark ....................................... 78
Ilustración 41: Directorio conf ............................................................. 79
Ilustración 42: Configuración log4j.properties.sh ................................... 79
Ilustración 43: Configuración spark-env.sh ........................................... 80
Ilustración 44: Configuración spark-defaults.conf ................................... 80
P ágin a 9 | 123
Description:Uno no piensa nunca en lo complicado que se puede hacer realizar una formación mientras trabaja, pero lo gratificante que puede llegar a ser, que.