“Año de la Lucha Contra la Corrupción e Impunidad”
UNIVERSIDAD NACIONAL AMAZÓNICA DE MADRE DE DIOS
“Madre de Dios, Capital de la Biodiversidad del Perú”
FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA DE
SISTEMAS E INFORMÁTICA
BUSINESS INTELLIGENCE
Inteligencia de Negocios
BIG DATA
DOCENTE:
ING. NAVARRO VEGA, Jose Carlos
TRABAJO PRESENTADO POR:
HUARICANCHA ABAD, David Jesus
HUAMANI ORTEGA, Ronald
QUISPE CHINO,Wilmer Rodrigo
Perú – Puerto Maldonado
13 de noviembre de 2019
DEDICATORIA
En memoria de los que dedicaron su tiempo en dejar lo aprendido con
su dedicamiento, y a aquellos que visionan ser el futuro del mañana.
Índice
1. Definición De La Problemática..............................................................................5
2. Especificación De Los Requisitos Estratégicos......................................................5
3. Descripción De Las Fuentes De Datos De Origen.................................................5
4. Diseño Del DataMart..............................................................................................6
4.1. Modelo Estrella...............................................................................................................7
4.2. Justificación del Modelo.................................................................................................7
5. Carga Y Análisis Del Proceso ETL.......................................................................14
5.1. Problemas.....................................................................................................................14
6. Exploración De Datos............................................................................................14
6.1. Descripción de la etapa.................................................................................................14
INTRODUCCIÓN
Como sabemos una organización está conformada por diferentes
sectores, en las cuales dichos sectores tienen diferentes deberes y
objetivos que cumplir, ahora sí hablamos de la información que maneja
la dicha organización, sabemos que es altamente complejo poder
controlar y gestionar cuando todos esos datos almacenados en una sola
base de datos, por lo cual es de alta importancia poder gestionar de una
manera eficaz todos esos datos.
Manejar los datos de cada sector, es una manera muy eficaz, esto nos
permitirá obtener los resultados y objetivos de cada sector por
independiente, logrando así poder resolver problemas que a nivel de la
base de datos general sería muy compleja.
Es de suma importancia sacarle el máximo provecho a todos los datos
manejados en la empresa, para eso se realiza un análisis de la base de
datos a manejar y de acuerdo a un proceso de extracción, exportar los
datos que beneficiaran a la empresa, trayendo repuestas a incógnitas
planteadas que era dificultoso responder con la base de datos general.
El presente trabajo pretende dar a conocer la importancia de los datos
en una empresa, a través de la Inteligencia de Negocios (Business
Intelligence), con una solución basada en Data Mart, en lo cual es
perentorio realizar el proceso de ETL (Extraccion, Transform and
Load) por medio de la herramienta libre Pentaho (Spoon).
Pentaho Data Integration Business Intelligence
Problemática
1. Definición De La Problemática
La empresa TECNOMUCH orientada a la venta de productos electrónicos en
diferentes tiendas ubicadas en varios países, lo cual almacena todos los datos de las
ventas como de los clientes que compraron dicho producto, la problemática principal
y evidente, fue la gestión erronea de productos, puesto que no se se sabe con
exactitud donde se presenta la mayor demanda. Tener conocimiento de donde esta el
sector de mayor consumo de un determinado producto es importante, puesto que
permite una toma de decisión adecuada, para así lograr mantener dicha demanda o lo
que es mejor, subir dicha demanda.
Saber cual es el producto mayor demandado no es lo único que importa, saber el
producto de menor demanda también es de importancia, puesto que nos da una visión
de que algo estamos haciendo mal como empresa, y la gestión de dicho producto no
es la correcta, en muchos casos esto nos puede llevar a quiebre.
2. Especificación De Los Requisitos Estratégicos
Al haber analizado la problemática de la empresa TECNOMUCH y teniendo la
información necesaria se puede considerar lo que se quiere obtener.
• Los productos más demandados por los clientes.
• Los productos menos demandados por los clientes.
• Los lugares donde se obtiene mayor preferencia de los clientes por lo
productos más demandados.
3. Descripción De Las Fuentes De Datos De Origen
El origen de los datos provino de la base de datos relacional utilizada por dicha
entidad, de las cuales se utilizaron .
Big Data Pág. 5
Pentaho Data Integration Business Intelligence
Figura. 1: Modelo relacional, fuente de datos actual.
4. Diseño Del DataMart
Con la problemática presentada, solo nos enfocaremos a trabajar con unas cuantas
tablas y campos más importantes según el análisis critico empleado, las cuales fueron
las siguientes.
1. dim_sexo (id_sexo, sexo)
2. dim_categoria (id_categoria, categoria, id)
3. dim_ciudad (id_ciudad, id_pais, ciudad, id)
4. dim_pais (id_pais, id_dirección, nombre, telefono, id)
5. dim_tienda (id_tienda, id_direccion, nombre, telefono, id)
6. dim_cliente (id_cliente, id_direccion, nombre, fechanacimiento, id, id_sexo)
7. dim_direccion (id_ciudad, id_dirección, calle, numero, piso, id)
8. dim_tiempo (fecha, año, mes_del_año, dia_del_mes, id_tiempo,
nombre_del_dia, nombre_mes)
9. dim_producto (id_categoria, id_producto, nombre, descripcion, peso, alto,
ancho, largo, color, marca, id)
10. hecho_ventas (id_ventas, id_producto, id_tienda, id_cliente, id_tiempo,
unidades, precio, descuento, total)
Con los datos a utilizar debidamente identificados, se procedió al moldeamiento y
construcción del modelo de datos multidimensional tipo “Estrella”.
4.1. Modelo Estrella
Tras considerar los campos y las tablas del modelo relacional de la base de datos
transaccional de la entidad, se modelo un diseño en forma de estrella para el
datamart, el cual es el siguiente.
Big Data Pág. 6
Pentaho Data Integration Business Intelligence
Figura 2: Modelo DataMart
4.2. Justificación del Modelo
Se optó por un modelo tipo “Estrella”, por tener una estructura más sencilla que
consta de una tabla central de “hechos” y varias “dimensiones”, incluida una
dimensión de “Tiempo”, que en este caso se ha determinado como periodo. Lo
característico de la arquitectura de estrella es que sólo existe una tabla de
dimensiones para cada dimensión. Esto quiere decir que la única tabla que tiene
relación con otra es la de hechos, lo que significa que toda la información
relacionada con una dimensión debe estar en una sola tabla, o cuando mucho,
normalizada de manera mínima.
El modelo de tipo estrella permitirá contar con una mayor accesibilidad a
información ya que se podra unir tablas solamente con el id, por ejemplo tenemos el
id del producto vendido, pero no sabemos que producto es, es este caso debemos unir
la tabla productos vendidos y la tabla productos para así poder conocer el nombre del
producto y sus ventas.
-- MySQL dump 10.16 Distrib 10.2.25-MariaDB, for Linux (x86_64)
--
-- Host: localhost Database: estrella_db
-- ------------------------------------------------------
Big Data Pág. 7
Pentaho Data Integration Business Intelligence
-- Server version 10.2.25-MariaDB
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `dim_categoria`
--
DROP TABLE IF EXISTS `dim_categoria`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_categoria` (
`id_categoria` bigint(20) DEFAULT NULL,
`categoria` varchar(50) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_ciudad`
--
DROP TABLE IF EXISTS `dim_ciudad`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_ciudad` (
`id_ciudad` bigint(20) DEFAULT NULL,
`id_pais` bigint(20) DEFAULT NULL,
`ciudad` varchar(50) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_cliente`
--
DROP TABLE IF EXISTS `dim_cliente`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_cliente` (
`id_cliente` bigint(20) DEFAULT NULL,
`id_direccion` bigint(20) DEFAULT NULL,
`nombre` varchar(50) DEFAULT NULL,
`fechanacimiento` varchar(20) DEFAULT NULL,
`id` int(11) DEFAULT NULL,
`id_sexo` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Big Data Pág. 8
Pentaho Data Integration Business Intelligence
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_direccion`
--
DROP TABLE IF EXISTS `dim_direccion`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_direccion` (
`id_ciudad` bigint(20) DEFAULT NULL,
`id_direccion` bigint(20) DEFAULT NULL,
`calle` varchar(50) DEFAULT NULL,
`numero` varchar(50) DEFAULT NULL,
`piso` int(11) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_pais`
--
DROP TABLE IF EXISTS `dim_pais`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_pais` (
`id_pais` bigint(20) DEFAULT NULL,
`pais` varchar(50) DEFAULT NULL,
`codigo` varchar(50) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_producto`
--
DROP TABLE IF EXISTS `dim_producto`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_producto` (
`id_categoria` bigint(20) DEFAULT NULL,
`id_producto` bigint(20) DEFAULT NULL,
`nombre` varchar(50) DEFAULT NULL,
`descripcion` varchar(50) DEFAULT NULL,
`peso` decimal(19,4) DEFAULT NULL,
`alto` decimal(19,4) DEFAULT NULL,
`ancho` decimal(19,4) DEFAULT NULL,
`largo` decimal(19,4) DEFAULT NULL,
`color` varchar(50) DEFAULT NULL,
`marca` varchar(50) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_sexo`
Big Data Pág. 9
Pentaho Data Integration Business Intelligence
--
DROP TABLE IF EXISTS `dim_sexo`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_sexo` (
`id_sexo` bigint(20) NOT NULL,
`sexo` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id_sexo`),
KEY `idx_dim_sexo_lookup` (`sexo`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_tiempo`
--
DROP TABLE IF EXISTS `dim_tiempo`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_tiempo` (
`fecha` datetime DEFAULT NULL,
`año` int(11) DEFAULT NULL,
`mes_del_año` int(11) DEFAULT NULL,
`día_del_mes` int(11) DEFAULT NULL,
`id_tiempo` int(11) DEFAULT NULL,
`nombre_del_día` varchar(100) DEFAULT NULL,
`nombre_mes` varchar(100) DEFAULT NULL,
KEY `idx_dim_tiempo_lookup`
(`fecha`,`año`,`mes_del_año`,`día_del_mes`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `dim_tienda`
--
DROP TABLE IF EXISTS `dim_tienda`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dim_tienda` (
`id_tienda` bigint(20) DEFAULT NULL,
`id_direccion` bigint(20) DEFAULT NULL,
`nombre` varchar(50) DEFAULT NULL,
`telefono` varchar(50) DEFAULT NULL,
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `hecho_ventas`
--
DROP TABLE IF EXISTS `hecho_ventas`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `hecho_ventas` (
`id_ventas` int(11) DEFAULT NULL,
`id_producto` int(11) DEFAULT NULL,
Big Data Pág. 10
Pentaho Data Integration Business Intelligence
`id_tienda` int(11) DEFAULT NULL,
`id_cliente` int(11) DEFAULT NULL,
`id_tiempo` int(11) DEFAULT NULL,
`unidades` int(11) DEFAULT NULL,
`precio` decimal(19,4) DEFAULT NULL,
`descuento` decimal(19,4) DEFAULT NULL,
`total` float(53,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
-- Dump completed on 2019-11-18 [Link]
Dimensión: dim_sexo
Fig. 3 – Dimensión Sexo
Se utilizó la siguiente sentencia SQL, para seleccionar la información a cargar:
Select * from dim_sexo;
Dimensión: dim_cliente
Fig. 4 – Dimensión Cliente
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_cliente;
Dimensión: dim_tiempo
Fig. 5 – Dimensión Tiempo
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_tiempo;
Dimensión: dim_ciudad
Big Data Pág. 11
Pentaho Data Integration Business Intelligence
Fig. 6 – Dimensión ciudad
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_ciudad;
Dimensión: dim_hecho_ventas
Fig. 7 – Dimensión tabla de Hecho Ventas
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from hecho_ventas;
Dimensión: dim_direccion
Fig. 8 – Dimensión direccion
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_direccion;
Dimensión: dim_tienda
Fig. 9 – Dimensión tienda
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_tienda;
Dimensión: dim_producto
Big Data Pág. 12
Pentaho Data Integration Business Intelligence
Fig. 10 – Dimensión producto
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_producto;
Dimensión: dim_pais
Fig. 11 – Dimensión país
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_pais;
Dimensión: dim_categoria
Fig. 12 – Dimensión categoría
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from dim_categoria;
Dimensión: hecho_ventas
Fig. 13 – Dimensión hecho ventas
Se utilizó la siguiente sentencia SQL, para la seleccionar la información a cargar:
Select * from hecho_ventas;
Big Data Pág. 13
Pentaho Data Integration Business Intelligence
Como conclusion del proceso ETL tenemos el diagrama estrella:
5. Carga Y Análisis Del Proceso ETL
5.1. Problemas
La conexión de Pentaho Data integration con la Base de Datos MariaDB, fue
de forma relativamente facil, puesto que PDI cuenta con soporte nativo para
MariaDB, la dificultad radico, en la carga de de los datos, puesto que se tuvo
que validad conforme de hacia la transformación de los datos que se disponían
de la base de datos a PDI.
6. Exploración De Datos
6.1. Descripción de la etapa
La exploración de los datos se hizo utilizando el software Tableu en su versión
mas reciente y educativa, con la herramienta de conexión a base de datos
MariaDB, el software Tableu facilita la consulta a estructuras
multidimensionales, permitiendo hacer consultas. OLAP de forma híbrida (a
bases de datos relacionales y multidimensionales).
Big Data Pág. 14
CONCLUSIONES
Hoy en día tratar de procesar la información de una entidad, no solo se trata de almacenar
y disponer de ellos en un momento dado, lo recomendable es hacer un análisis de datos,
determinar la relación que tienen estas informaciones es una necesidad, puesto que ellos
ayuda a la toma correcta de decisiones y no decidir al azar. Un análisis correcto permitirá
no solo a la empresa vender más productos, sino saber en que sector se puede mejorar o
ampliar.
PDI (Pentaho Data Integration), es una herramienta para inteligencia de negocios, quiere
decir que nos facilitara un set de herramientas para lograr procesar toda la información que
se dispone en una base de datos. Y aunque en muchas ocasiones se requiere la
representación de los de los resultados procesados, para ello nos apoyaremos a la
herramienta Tableu.
BIBLIOGRAFÍA
J STONER FREEMAN. DANIEL R. GILBERT JR. Administración. Sexta Edición. New
Jersey: 2015, ISBN 968-880-685-4