SISTEMA 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: