Upload
mauricio-murillo
View
1.404
Download
10
Embed Size (px)
DESCRIPTION
Data Warehousing con Pentaho, Diapositivas del Curso: Conceptos Generales, Pentaho Community Edition, Pentaho Data Integration, Data Warehousing, Business Intelligence
Citation preview
� Comprender los conceptos generales de DataWarehousing (DWH) e Inteligencia deNegocios (BI)
� Comprender y aplicar la metodología deKimball para construir sistemas de DWH/BI
� Conocer la plataforma de BI Pentaho
� Construir procesos ETL (extracción,transformación y carga) usando laherramienta PDI (Pentaho Data Integration)
http://ingmmurillo-dwh-bi.blogspot.com 3
Módulo Contenido Tiempo Aprox. (h)
Módulo I. Conceptos Generales
• Inteligencia de Negocios (BI)• Arquitecturas de BI• Plataformas de BI• Data Warehousing• Arquitectura de Flujo de Datos
4
Módulo II. Caso de Estudio
• Análisis y comprensión de la naturaleza de los datos• Definición de Requerimientos
4
4http://ingmmurillo-dwh-bi.blogspot.com
Módulo Contenido Tiempo Aprox. (h)
Módulo III. Técnicas de Modelamiento de Datos
• Dimensiones• Tablas de Hechos• Modelo Dimensional
2
Módulo IV. Diseño del Data Warehouse para el Caso de Estudio
• Modelo Lógico de Datos• Modelo Físico de Datos
2
Módulo V. Plataforma de BI Pentaho CE
• Arquitectura • Instalación y Configuración• Herramientas
2
5http://ingmmurillo-dwh-bi.blogspot.com
Módulo Contenido Tiempo Aprox. (h)
Módulo VI. Construcción del Data Warehouse usando PDI
• Actividades ETL• Uso de Spoon• Creación de Transformaciones• Creación de Trabajos• Calendarización de Trabajos de Carga con Kitchen
14
6http://ingmmurillo-dwh-bi.blogspot.com
� Inteligencia de Negocios = BI
� BI corresponde al conjunto de actividades deanálisis de datos históricos
� Permite comprender la situación pasada,presente y futura de una compañía
� Apoya a la toma de decisiones estratégicas,tácticas y operativas de una compañía
� BI no es Data Warehousing
7http://ingmmurillo-dwh-bi.blogspot.com
� De acuerdo al nivel y a la complejidad deanálisis, las actividades de inteligencia denegocios pueden ser agrupadas en trescategorías:
1. Reporteo
2. Procesamiento analítico en línea (OLAP)
3. Minería de datos
8http://ingmmurillo-dwh-bi.blogspot.com
Pasado Presente Futuro
Análisis Descriptivo
• Reporteo (Reportes, Tableros)• Análisis OLAP (Cubos)
Análisis Predictivo
• Minería de Datos
tiempo (t)
Objetivo
• Resolver rompecabezasdel negocio
Objetivo
• Resolver misterios
9http://ingmmurillo-dwh-bi.blogspot.com
� La principal fuente de datos para lasactividades de análisis de BI es la bodega dedatos (DWH, Data Warehouse)
� El conjunto de procesos que se encargan decrear, recuperar y consolidar los datos de lossistemas fuente al DWH se conoce como DataWarehousing
10http://ingmmurillo-dwh-bi.blogspot.com
� Un DWH es un sistema que recupera yconsolida datos periódicamente de lossistemas fuente a un almacén de datosdimensional o normalizado (DWH).Usualmente guarda años de historia y esconsultado para inteligencia de negocios uotras actividades analíticas
� Un Data Mart (DM) es un DWH para un tema oaplicación específica (Ventas, Reclamos, etc.)
11http://ingmmurillo-dwh-bi.blogspot.com
Recupera Datos
ConsolidaDatos
DWH
Inteligencia de Negocios
y Actividades Analíticas
Datos de Entrada Información de Salida
Sistemas Fuente Bodega de Datos
MATERIA PRIMA PROCESO PRODUCTO
12http://ingmmurillo-dwh-bi.blogspot.com
� Toda la información está un solo lugar (Unasóla fuente de la verdad)
� Información actualizada� Acceso rápido� No hay límites de espacio (Ej. Archivos XLS)
� Contiene toda la historia de la compañía� Fácil de comprender (Modelada en términos
del negocio)� Contiene definiciones claras y uniformes
� Datos estandarizados
13http://ingmmurillo-dwh-bi.blogspot.com
� Problemas de calidad de datos, entre ellos:◦ Datos Duplicados
◦ Datos Incompletos
◦ Datos Incorrectos
◦ Datos Conflictivos
◦ Datos Faltantes (Falla de Integridad Referencial)
◦ Valores nulos
� Volumen de datos (1Pb) y rendimiento (Sol.índices, índices binarios, particiones,agregaciones, vistas materializadas)
14http://ingmmurillo-dwh-bi.blogspot.com
� Captura de Cambios de Datos (CDC)◦ Consiste en identificar qué datos han sidoinsertados, modificados o borrados
◦ Puede ser Intrusiva (Triggers) y No Intrusiva (PDI,Merge Rows)
� Requerimientos cambiantes (Un DWHEvoluciona)
15http://ingmmurillo-dwh-bi.blogspot.com
Sistema deSoftware
Arquitectura Monolítica,Cliente/Servidor,3 Capas, N Capas
Plataforma Java, MS .NET
SistemaDWH/BI
Arquitectura Flujo de Datos
Plataforma SAP BusinessObjects,Oracle Hyperion,IBM Cognos,Microsoft,Pentaho
16http://ingmmurillo-dwh-bi.blogspot.com
Sistemas Fuente
ETL +
Calidad de Datos
DWHETL
Data Mart N
Aplicación BI
Control y Auditoria
METADATOS
Área de Almacenamiento
Data Mart 1
Aplicación BI
ETL
Fábrica de InformaciónCorporativa (CIF)
EnfoqueTOP - DOWN
Data MartsDependientes
18http://ingmmurillo-dwh-bi.blogspot.com
Sistemas FuenteETL Área de
Almacenamiento(STAGE)
ETL +
Calidad de Datos
Data Mart 1
Aplicación BI
Aplicación BI
Data Mart N
Data Warehouse
Bus
Control y Auditoria
METADATOS
Arquitectura Multidimensional (MD)
EnfoqueBOTTOM - UP
Data MartsIndependientes
19http://ingmmurillo-dwh-bi.blogspot.com
� Sirve para copiar únicamente los datos que serequiere tal y como se encuentran en lafuente
� No afecta el rendimiento de la base de datosfuente
� Permite trabajar en un subconjunto de datos
� Permite ordenar e indexar los datos paraoptimizar los procesos ETL
20http://ingmmurillo-dwh-bi.blogspot.com
Metadatos: datos sobre los datos
� Linaje de datos (Data Lineage): informaciónsobre el origen y destino de los datos
� Tiempo de los datos (Data Timeliness):información sobre cuándo cambió los datos yque “viejos” son
� Modelo de Datos
21http://ingmmurillo-dwh-bi.blogspot.com
Característica Fábrica de Información Corporativa - Inmon
Arquitectura Multidimensional - Kimball
Técnica de modelamiento de datos
Relacional y Dimensional Dimensional
Enfoque TOP - DOWN BOTTOM – UP
Vista empresarial de datos Total Parcial
Provee datos detallados SÍ SÍ
Provee datos sumarizados SÍ SÍ
Tiempo de implantación Alto Bajo
Costo de implantación Alto Bajo
22http://ingmmurillo-dwh-bi.blogspot.com
Planeación del Proyecto
Definición de Requerimientos del
Negocio
Diseño Técnico de la
Arquitectura
Modelamiento Dimensional
Especificación de Aplicaciones de
BI
Selección e Instalación del
Producto
Diseño FísicoDiseño y
Desarrollo ETL
Desarrollo de Aplicaciones de
BI
Implantación
Crecimiento
Mantenimiento
Gestión del Proyecto
23http://ingmmurillo-dwh-bi.blogspot.com
� Conocer las fuentes de datos, alcance,preguntas del negocio a responder, formatosde entrega de información, etc.
� Por lo menos en ésta fase documentar losiguiente:
Entrada Descripción
Tema Área o proceso de negocio
Audiencia Para quién es la solución
Propietario Quién será el propietario de la solución
Necesidad del Usuario Qué necesitan los usuarios y cómo usarán la solución
24http://ingmmurillo-dwh-bi.blogspot.com
Entrada Descripción
Preguntas a responder Preguntas que serán respondidas por la solución
Beneficios del negocio Qué ganará el negocio construyendo el DWH
Mecanismo de entrega Emails, Gráficos, Reportes, Tableros de Mando, Cubos de Datos, etc.
Fuentes de información A qué personas se puede preguntar sobre el negocio
Fuentes de datos De qué sistemas y qué bases de datos se obtendrán los datos
Estimación Estimación de tiempo para desarrollar la solución
25http://ingmmurillo-dwh-bi.blogspot.com
Modelo Estrella
� El centro de una estrella consiste de una tablaconocida como tabla de HECHOS y los puntosde la estrella se los conoce como tablas deDIMENSIONES
26http://ingmmurillo-dwh-bi.blogspot.com
Dimensiones
� Una dimensión representa información de unaentidad del negocio (Ej. Cliente, Producto, Vendedor,Local)
� Cualitativas
Hechos
� Un hecho representa un evento del negocio (Ej. ValorVendido, Comisión, Valor Flete)
� Cuantitativos� Las filas son almacenadas al nivel más bajo degranularidad
28http://ingmmurillo-dwh-bi.blogspot.com
� Para poder consultar un modelo estrella seusa el siguiente SQL
SELECT COL1, COL2,…, COLN FROM HECHOSH JOIN DIM_1 D1 ON H.FK_DIM1 =D1.PK_DIM1 JOIN DIM_2 D2 ON H.FK_DIM2= D2.PK_DIM2
29http://ingmmurillo-dwh-bi.blogspot.com
Matriz de Hechos y Dimensiones
� Sirve para identificar dimensiones y hechos.Además, para identificar DimensionesConformadas / Compartidas
Tiempo Cliente Producto Distribuidor
Órdenes de compra X X X
Inventario X X X
Órdenes de clientes X X X
Devoluciones X X X
30http://ingmmurillo-dwh-bi.blogspot.com
� Usar claves subrogadas (SK)◦ 1 Dimensión, 1 Clave con tipo de dato numérico)
◦ Puede ser generada por una secuencia de la base dedatos o por la herramienta ETL
� Usar convenciones de nombres y de tipos
Prefijo Alcance
STG_ Para tablas de almacenamiento temporal
HIS_ Para tablas de archivos históricos
DIM_ Para tablas de dimensiones
FACT_ Para tablas de hechos
AGG_ Para tablas de agregaciones
31http://ingmmurillo-dwh-bi.blogspot.com
� Granularidad y Agregación◦ Granularidad corresponde al nivel de detallealmacenado en el DWH
◦ Almacenar los datos al nivel más bajo de detalleposible
◦ Las agregaciones mejoran el rendimiento
� Usar columnas de auditoria◦ Hora y fecha de inserción
◦ Proceso de inserción
◦ Hora y fecha de actualización
◦ Proceso de actualización
32http://ingmmurillo-dwh-bi.blogspot.com
Las 5 funciones básicas de agregación de SQL
son:
� Máximo: max()
� Mínimo: min()
� Conteo: count()
� Suma: sum()
� Promedio: avg()
33http://ingmmurillo-dwh-bi.blogspot.com
� Modelar una dimensión para el tiempo y otrapara la fecha◦ Usar claves en el formato AAAAMMDD
� Tener 1 registro de DESCONOCIDO (N/D) encada dimensión en vez de NULL
SK Nombre Teléfono Fecha Nacimiento
0 Desconocido Desconocido 01/01/1970
DIM_CLIENTE
34http://ingmmurillo-dwh-bi.blogspot.com
� La técnica de Slowly Changing Dimensionspermite identificar y guardar qué registroscambiaron. Existen los siguientes tipos:
Tipo Descripción
SCD – Tipo 1 Sobrescribe el registro. Soportada por PDI
SCD – Tipo 2 Agrega un registro con columnas que indican su validez. Soportada por PDI
SCD – Tipo 3 Consiste en agregar una columna porcada una que se quiera registrar el cambio
35http://ingmmurillo-dwh-bi.blogspot.com
� Sobrescribe el registro de una dimensión
SK Identificación Nombre Ciudad
1 1728192211 Juan Pérez Quito
SK Identificación Nombre Ciudad
1 1728192211 Juan Pérez Cuenca
Situación Actual
Nueva Situación
36http://ingmmurillo-dwh-bi.blogspot.com
� Agrega un registro a la dimensión y 3columnas: válido desde, válido hasta yversión
SK Identificación Nombre Ciudad Válido Desde Válido Hasta Versión
1 1728192211 Juan Pérez Quito 2013-01-01 2099-12-31 1
Situación Actual
Nueva Situación
SK Identificación Nombre Ciudad Válido Desde Válido Hasta Versión
1 1728192211 Juan Pérez Quito 2013-01-01 2013-01-25 0
2 1728192211 Juan Pérez Cuenca 2013-01-25 2099-12-31 1
37http://ingmmurillo-dwh-bi.blogspot.com
� Agrega una columna por cada cambio
SK Identificación Nombre Ciudad Ciudad Antigua
1 1728192211 Juan Pérez Quito Quito
Situación Actual
Nueva Situación
SK Identificación Nombre Ciudad Ciudad Antigua
1 1728192211 Juan Pérez Cuenca Quito
38http://ingmmurillo-dwh-bi.blogspot.com
� Dimensiones Monstruo (Particionamiento)
� Dimensiones Degeneradas (Número póliza,número pedido, número de reclamo)
� Copos de Nieve (Snowflake)
� Tablas de Hechos Consolidadas (Presupuesto+ Actual)
� Modelo Constelación
39http://ingmmurillo-dwh-bi.blogspot.com
� Plataforma de BI Open Source
� Provee de herramientas de apoyo para todo el proceso de construcción del sistema DWH/BI
� Existen dos ediciones de Pentaho: Community (CE) y Enterprise (EE)
� La versión CE es totalmente Open Source orientada al aprendizaje y PYMES
� Pentaho puede ser descargado del siguiente link: http://sourceforge.net/projects/pentaho/files/
41http://ingmmurillo-dwh-bi.blogspot.com
42
Herramienta Descripción
Pentaho BI Server Servidor Central de Inteligencia de Negocios, Portal Web de Entrega de Información. Licencia GPLv2
Pentaho Design Studio (PDS) Organización de soluciones, creación de xaction (Acciones de Secuencias). Licencia EPL
Pentaho Data Integration (PDI) Creación y ejecución de procesos ETL. Licencia LGPLv2.1
Pentaho Metadata Editor (PME) Creación y publicación de metadatos parareportes. Licencia LGPLv2.1
Pentaho Report Designer (PRD) Creación y publicación de reportes. Licencia LGPLv2.1
Pentaho Schema Workbench (PSW) Creación y publicación de cubos para análisis OLAP. Licencia EPL
http://ingmmurillo-dwh-bi.blogspot.com
� Integración de Datos: conjunto de actividadespara llenar el DWH
� La integración de datos se descompone en 3actividades◦ Extracción: Adquirir datos de 1 o más fuentes
◦ Transformación: Cambiar la forma y contenido delos datos
◦ Loading (Carga): cargar los datos en losrepositorios y el DWH
46http://ingmmurillo-dwh-bi.blogspot.com
Actividades de Extracción� Captura de cambio de datos (CDC)� Almacenamiento temporal (Data Staging)
Actividades de Transformación� Validación de datos� Limpieza de datos
� Decodificar y Renombrar (1->Sí, 0->No)� Agregaciones� Gestión y generación de claves (SK)
47http://ingmmurillo-dwh-bi.blogspot.com
Actividades de Carga (Loading)
� Carga de Tabla de Hechos
� Carga de tablas temporales
� Carga y mantenimiento de Tablas deDimensiones
48http://ingmmurillo-dwh-bi.blogspot.com
� Las soluciones de PDI son construidas sobre2 tipos diferentes de objetos:◦ Transformaciones◦ Trabajos (Jobs)
� El corazón de PDI es el motor de integraciónde datos de Pentaho (Data Integration Engine)
� PDI contiene las siguientes herramientas◦ Spoon: GUI para crear transformaciones y trabajos◦ Kitchen: Comandos para correr trabajos◦ Pan: Comandos para correr transformaciones◦ Karte: Ejecutar transformaciones y trabajos deforma remota
49http://ingmmurillo-dwh-bi.blogspot.com
1. Crear el directorio c:\pentaho
2. Copiar biserver-ce-X.X.X.zip
3. Descomprimir biserver-ce-X.X.X.zip
4. Asegurarse tener la siguiente estructura:
c:\pentaho\biserver-ce-X.X.X\administration-console (PAC)
c:\pentaho\biserver-ce-X.X.X\biserver-ce(Servidor BI)
PENTAHO_HOME = c:\pentaho\biserver-ce-X.X.X
52http://ingmmurillo-dwh-bi.blogspot.com
5. Ir al directorio c:\pentaho\biserver-ce-X.X.X\biserver-ce
6. Ejecutar el archivo start-pentaho.bat
7. Abrir un navegador e ir al siguiente URL:
http://localhost:8080/pentaho/
53http://ingmmurillo-dwh-bi.blogspot.com
1. Abrir la consola de comandos (cmd)
2. Ir al directorio %PENTAHO_HOME%\biserver-ce\tomcat\bin
3. Ejecutar el comando:
service.bat install Pentaho
4. Ir a services.msc para verificar que se instaló el servicio Apache Tomcat Pentaho
54http://ingmmurillo-dwh-bi.blogspot.com
1. Crear base de datos pdi_repo, usuario pentaho_user (Todos los permisos)
2. Copiar el archivo pdi-ce-X.X.X.zip al directorio c:\pentaho
3. Descomprimir el archivo y ejecutar Spoon.bat
4. Agregar un nuevo repositorio
5. Seleccionar Kettle Database Repository
6. Crear una nueva conexión de nombre pdi_repo
7. Crear repositorio de metadatos (Dry Run? No)
8. Usar usuario admin / admin
55http://ingmmurillo-dwh-bi.blogspot.com
1. Abrir una consola de comandos (cmd)
2. Ir a c:\pentaho\pdi-ce-X.X.X\data-integration
3. Ejecutar el siguiente comando:
Kitchen.bat /rep pdi_repo /useradmin /pass admin /job NOMBRE_JOB
4. Finalmente, crear Tarea Calendarizada del SO (Ejecutar Kitchen con Argumentos Paso 3)
56http://ingmmurillo-dwh-bi.blogspot.com
1. En Input, arrastar Generate Rows
2. En Limit colocar 3652 (10 años)
3. Crear un campo de tipo Date de nombre fecha_inicial, formato yyyyMMdd y valor 20090101
4. En Transform arrastrar Add Sequence para generar las SKs. Name of Value =secuencia_dias, Start at Value = 0
5. Ir a Transform arrastrar Calculator
57http://ingmmurillo-dwh-bi.blogspot.com
7. Crear los campos sk_fecha, anio, mes, día y fecha como se muestra en la siguiente tabla:
58http://ingmmurillo-dwh-bi.blogspot.com
Campo Calculation Field A Field B Value Type ConversionMask
v_fecha Date A + B Days
fecha_inicial secuencia_dias Date yyyyMMdd
v_fecha_str
Create a copyof field A
v_fecha String yyyyMMdd
sk_fecha Create a copyof field A
v_fecha_str Integer #
anio Year of date A v_fecha Integer #
mes Month of date A v_fecha Integer #
dia Day of monthof date A
v_fecha Integer #
fecha Create a copyof field A
v_fecha Date dd/MM/yyyy
59http://ingmmurillo-dwh-bi.blogspot.com
8. Ir a Output y arrastrar Table Output
9. Seleccionar la tabla DIM_FECHA de la conexión al DWH, marcar Specify databasefields para mapear los campos e ir a EnterField Mapping
10. Verificar y Ejecutar
60http://ingmmurillo-dwh-bi.blogspot.com
7. Hacer clic en (+) Add Database Connection
Name = dwh
Driver Class = org.postgresql.Driver
User Name = dwh
Password = pentaho_user
URL = jdbc:postgresql://localhost:5432/dwh
8. Finalmente hacer clic en Test
NOTA: el mismo nombre se tiene que usar en todas las aplicaciones de Pentaho
61http://ingmmurillo-dwh-bi.blogspot.com
� Wiki de Pentaho CE:http://wiki.pentaho.com/display/COM/Community+Wiki+Home
� [Adrián Sergio Pulvirenti, María Carina Roldán] Pentaho Data Integration 4 Cookbook. Packt Publishing Ltd. 2011
� [María Carina Roldán] Pentaho 3.2 Data Integration Beginner's Guide. Packt Publishing Ltd. 2010
� [Roland Bouman, Jos van Dongen] Pentaho Solutions: Business Intelligence and Data Warehousing with Pentaho and MySQL. Wiley. 2009
� [Matt Casters, Roland Bouman, Jos van Dongen] Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration. Wiley. 2010
62http://ingmmurillo-dwh-bi.blogspot.com
Ing. Mauricio Murillo Rosero
http://ingmmurillo.blogspot.com
@ingmmurillo
http://ingmmurillo-dwh-bi.blogspot.com
63
Código QR