Desarrollo De Una Solución Business Intelligence Mediante Un Paradigma De Data Lake
Total Page:16
File Type:pdf, Size:1020Kb
Desarrollo de una solución Business Intelligence mediante un paradigma de Data Lake José María Tagarro Martí Grado de Ingeniería Informática Consultor: Humberto Andrés Sanz Profesor: Atanasi Daradoumis Haralabus 13 de enero de 2019 Esta obra está sujeta a una licencia de Reconocimiento-NoComercial-SinObraDerivada 3.0 España de Creative Commons FICHA DEL TRABAJO FINAL Desarrollo de una solución Business Intelligence mediante un paradigma de Data Título del trabajo: Lake Nombre del autor: José María Tagarro Martí Nombre del consultor: Humberto Andrés Sanz Fecha de entrega (mm/aaaa): 01/2019 Área del Trabajo Final: Business Intelligence Titulación: Grado de Ingeniería Informática Resumen del Trabajo (máximo 250 palabras): Este trabajo implementa una solución de Business Intelligence siguiendo un paradigma de Data Lake sobre la plataforma de Big Data Apache Hadoop con el objetivo de ilustrar sus capacidades tecnológicas para este fin. Los almacenes de datos tradicionales necesitan transformar los datos entrantes antes de ser guardados para que adopten un modelo preestablecido, en un proceso conocido como ETL (Extraer, Transformar, Cargar, por sus siglas en inglés). Sin embargo, el paradigma Data Lake propone el almacenamiento de los datos generados en la organización en su propio formato de origen, de manera que con posterioridad puedan ser transformados y consumidos mediante diferentes tecnologías ad hoc para las distintas necesidades de negocio. Como conclusión, se indican las ventajas e inconvenientes de desplegar una plataforma unificada tanto para análisis Big Data como para las tareas de Business Intelligence, así como la necesidad de emplear soluciones basadas en código y estándares abiertos. Abstract (in English, 250 words or less): This paper implements a Business Intelligence solution following the Data Lake paradigm on Hadoop’s Big Data platform with the aim of showcasing the technology for this purpose. i Traditional data warehouses require incoming data to be transformed before being stored by means of an ETL process (Extract-Transform-Load) to adopt a predefined data model. However, the Data Lake paradigm proposes storing first the organization’s data in its original format in such a way that they can later be transformed and consumed by ad hoc processes based on the business needs. Finally, there is a review of the advantages and disadvantages of deploying a unified data platform for both Big Data and traditional Business Intelligence use cases as well as the importance of using solutions based on open source and open standards. Palabras clave (entre 4 y 8): Business Intelligence, Data Lake, Data Warehouse, Big Data, Hadoop, ETL, Schema-on-read, Hive ii Índice 1. Introducción .................................................................................................... 1 1.1. Contexto y justificación del Trabajo .......................................................... 1 1.2. Objetivos del Trabajo ................................................................................ 2 1.3. Enfoque y método seguido ....................................................................... 2 1.4. Planificación del Trabajo .......................................................................... 3 Relación de tareas y diagrama de Gantt del proyecto ..................... 3 Diagrama de Gantt ........................................................................... 5 1.5. Sumario de los productos obtenidos ........................................................ 7 1.6. Capítulos centrales de la memoria ........................................................... 7 2. Descripción de la empresa modelo ................................................................ 9 2.1. Modelo de gestión de la información de partida ....................................... 9 2.2. Descripción del caso: Supermercados Sierra ........................................... 9 Modelo de negocio ........................................................................... 9 Dificultades del modelo .................................................................. 10 Cadena de suministro .................................................................... 10 2.3. Arquitectura de los Sistemas de Información ......................................... 11 Hardware ....................................................................................... 11 Software ......................................................................................... 11 Topología ....................................................................................... 12 2.4. Fuentes primarias de datos .................................................................... 12 Modelo de datos del aplicativo TPV ............................................... 13 Modelo de datos de la solución e-commerce ................................. 13 Modelo de datos del registro de acceso del servidor web.............. 14 3. Juego de datos de simulación ...................................................................... 15 3.1. Introducción ............................................................................................ 15 iii 3.2. Juego de datos “The complete journey” ................................................. 15 Descripción .................................................................................... 15 Modelo de datos ............................................................................ 16 Descripción detallada de las relaciones ......................................... 16 Implementación en MySQL ............................................................ 19 3.3. Juego de datos “Let’s get kind of real”.................................................... 20 Modelo de datos ............................................................................ 20 Almacenamiento de los datos ........................................................ 21 3.4. Juego de datos EDGAR ......................................................................... 22 Estructura de los datos .................................................................. 22 3.5. Selección de datos ................................................................................. 22 Estimación del volumen de operaciones ........................................ 23 Implementación de los juegos de datos ......................................... 24 4. Diseño de la solución y casos de uso típicos ............................................... 25 4.1. Introducción a Apache Hadoop .............................................................. 25 4.2. Data Marts .............................................................................................. 25 Introducción a Apache Hive ........................................................... 25 Schema-on-read y el Data Lake .................................................... 26 Data Marts en Supermercados Sierra ............................................ 28 4.3. Cubo OLAP ............................................................................................ 28 Esquema en estrella ...................................................................... 28 Dimensiones y medidas del cubo .................................................. 29 4.4. Cuadro de mando ejecutivo .................................................................... 29 4.5. Cuadro de mando de gestión ................................................................. 30 4.6. Cuadro de mando operativo ................................................................... 30 4.7. Big Data Analytics .................................................................................. 30 4.8. Modelo predictivo ................................................................................... 31 4 5. Implementación de la solución ..................................................................... 32 5.1. Diseño .................................................................................................... 32 Arquitectura .................................................................................... 32 Componentes ................................................................................. 33 Procesos ........................................................................................ 37 5.2. Entorno de hardware y software de base ............................................... 40 Instalación de Hortonworks HDP ................................................... 40 Configuración de HDP ................................................................... 45 5.3. ETL ......................................................................................................... 48 Modelo de datos ............................................................................ 48 Carga de datos por lotes ................................................................ 51 Carga de datos en tiempo casi real ............................................... 52 5.4. Consultas exploratorias SQL .................................................................. 53 5.5. Cubo OLAP en Apache Kylin ................................................................. 55 5.6. Modelo predictivo avanzado: análisis de cesta de la compra ................. 60 Cuaderno RStudio ......................................................................... 61 6. Conclusiones ................................................................................................ 63 6.1. Descripción de las conclusiones ............................................................ 63 6.2. Consecución de los objetivos