ingmmurillo - Data Warehousing con Pentaho
Upcoming SlideShare
Loading in...5
×
 

ingmmurillo - Data Warehousing con Pentaho

on

  • 1,193 views

Data Warehousing con Pentaho,

Data Warehousing con Pentaho,

Diapositivas del Curso: Conceptos Generales, Pentaho Community Edition, Pentaho Data Integration, Data Warehousing, Business Intelligence

Statistics

Views

Total Views
1,193
Views on SlideShare
1,193
Embed Views
0

Actions

Likes
1
Downloads
68
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ingmmurillo - Data Warehousing con Pentaho ingmmurillo - Data Warehousing con Pentaho Presentation Transcript

  • 2013 Instructor: Ing. Mauricio Murillo Rosero
  • Objetivos Instrucciones SQL Cronograma Ejercicios Prácticos Conceptos 2
  • Comprender los conceptos generales de Data Warehousing (DWH) e Inteligencia de Negocios (BI) Comprender y aplicar la metodología de Kimball para construir sistemas de DWH/BI Conocer la plataforma de BI Pentaho Construir procesos ETL (extracción, transformación y carga) usando la herramienta 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 http://ingmmurillo-dwh-bi.blogspot.com 4
  • Módulo Contenido Tiempo Aprox. (h) Módulo III. Técnicas de • Dimensiones Modelamiento de • Tablas de Hechos Datos • 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 http://ingmmurillo-dwh-bi.blogspot.com 5
  • Módulo Contenido Módulo VI. • Actividades ETL Construcción del Data • Uso de Spoon Warehouse usando PDI • Creación de Transformaciones • Creación de Trabajos • Calendarización de Trabajos de Carga con Kitchen Tiempo Aprox. (h) 14 http://ingmmurillo-dwh-bi.blogspot.com 6
  • Inteligencia de Negocios = BI BI corresponde al conjunto de actividades de aná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 http://ingmmurillo-dwh-bi.blogspot.com 7
  • De acuerdo al nivel y a la complejidad de análisis, las actividades de inteligencia de negocios pueden ser agrupadas en tres categorías: 1. Reporteo 2. Procesamiento analítico en línea (OLAP) 3. Minería de datos http://ingmmurillo-dwh-bi.blogspot.com 8
  • Análisis Descriptivo Análisis Predictivo • Reporteo (Reportes, Tableros) • Análisis OLAP (Cubos) • Minería de Datos Pasado Presente Futuro tiempo (t) Objetivo Objetivo • Resolver rompecabezas del negocio • Resolver misterios http://ingmmurillo-dwh-bi.blogspot.com 9
  • La principal fuente de datos para las actividades de análisis de BI es la bodega de datos (DWH, Data Warehouse) El conjunto de procesos que se encargan de crear, recuperar y consolidar los datos de los sistemas fuente al DWH se conoce como Data Warehousing http://ingmmurillo-dwh-bi.blogspot.com 10
  • Un DWH es un sistema que recupera y consolida datos periódicamente de los sistemas fuente a un almacén de datos dimensional o normalizado (DWH). Usualmente guarda años de historia y es consultado para inteligencia de negocios u otras actividades analíticas Un Data Mart (DM) es un DWH para un tema o aplicación específica (Ventas, Reclamos, etc.) http://ingmmurillo-dwh-bi.blogspot.com 11
  • Datos de Entrada Información de Salida Recupera Datos DWH Consolida Datos Bodega de Datos Sistemas Fuente MATERIA PRIMA PROCESO PRODUCTO Inteligencia de Negocios y Actividades Analíticas http://ingmmurillo-dwh-bi.blogspot.com 12
  • Toda la información está un solo lugar (Una só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 http://ingmmurillo-dwh-bi.blogspot.com 13
  • 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) http://ingmmurillo-dwh-bi.blogspot.com 14
  • Captura de Cambios de Datos (CDC) ◦ Consiste en identificar qué datos han sido insertados, modificados o borrados ◦ Puede ser Intrusiva (Triggers) y No Intrusiva (PDI, Merge Rows) Requerimientos Evoluciona) cambiantes (Un DWH http://ingmmurillo-dwh-bi.blogspot.com 15
  • Arquitectura Sistema DWH/BI Plataforma Java, MS .NET Arquitectura Sistema de Software Monolítica, Cliente/Servidor, 3 Capas, N Capas Flujo de Datos Plataforma SAP BusinessObjects, Oracle Hyperion, IBM Cognos, Microsoft, Pentaho http://ingmmurillo-dwh-bi.blogspot.com 16
  • http://ingmmurillo-dwh-bi.blogspot.com 17
  • Control y Auditoria Fábrica de Información Corporativa (CIF) METADATOS Aplicación BI Data Mart 1 Aplicación BI Sistemas Fuente ETL + Calidad de Datos Área de Almacenamiento DWH Data Mart N ETL Data Marts Dependientes ETL Enfoque TOP - DOWN http://ingmmurillo-dwh-bi.blogspot.com 18
  • Control y Auditoria Arquitectura Multidimensional (MD) METADATOS Data Marts Independientes Aplicación BI Sistemas Fuente ETL Área de Almacenamiento (STAGE) ETL + Calidad de Datos Data Mart 1 Aplicación BI Data Mart N Enfoque BOTTOM - UP Data Warehouse Bus http://ingmmurillo-dwh-bi.blogspot.com 19
  • Sirve para copiar únicamente los datos que se requiere tal y como se encuentran en la fuente No afecta el rendimiento de la base de datos fuente Permite trabajar en un subconjunto de datos Permite ordenar e indexar los datos para optimizar los procesos ETL http://ingmmurillo-dwh-bi.blogspot.com 20
  • Metadatos: datos sobre los datos Linaje de datos (Data Lineage): información sobre el origen y destino de los datos Tiempo de los datos (Data Timeliness): información sobre cuándo cambió los datos y que “viejos” son Modelo de Datos http://ingmmurillo-dwh-bi.blogspot.com 21
  • Característica Fábrica de Información Corporativa - Inmon Arquitectura Multidimensional - Kimball Relacional y Dimensional Dimensional TOP - DOWN BOTTOM – UP Total Parcial Provee datos detallados SÍ SÍ Provee datos sumarizados SÍ SÍ Tiempo de implantación Alto Bajo Costo de implantación Alto Bajo Técnica de modelamiento de datos Enfoque Vista empresarial de datos http://ingmmurillo-dwh-bi.blogspot.com 22
  • Planeación del Proyecto Definición de Requerimientos del Negocio Diseño Técnico de la Arquitectura Selección e Instalación del Producto Modelamiento Dimensional Diseño Físico Crecimiento Implantación Desarrollo de Aplicaciones de BI Especificación de Aplicaciones de BI Diseño y Desarrollo ETL Mantenimiento Gestión del Proyecto http://ingmmurillo-dwh-bi.blogspot.com 23
  • Conocer las fuentes de datos, alcance, preguntas del negocio a responder, formatos de entrega de información, etc. Por lo menos en ésta fase documentar lo siguiente: 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 http://ingmmurillo-dwh-bi.blogspot.com 24
  • 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 http://ingmmurillo-dwh-bi.blogspot.com 25
  • Modelo Estrella El centro de una estrella consiste de una tabla conocida como tabla de HECHOS y los puntos de la estrella se los conoce como tablas de DIMENSIONES http://ingmmurillo-dwh-bi.blogspot.com 26
  • Modelo Estrella http://ingmmurillo-dwh-bi.blogspot.com 27
  • Dimensiones Una dimensión representa información de una entidad del negocio (Ej. Cliente, Producto, Vendedor, Local) Cualitativas Hechos Un hecho representa un evento del negocio (Ej. Valor Vendido, Comisión, Valor Flete) Cuantitativos Las filas son almacenadas al nivel más bajo de granularidad http://ingmmurillo-dwh-bi.blogspot.com 28
  • Para poder consultar un modelo estrella se usa el siguiente SQL SELECT COL1, COL2,…, COLN FROM HECHOS H JOIN DIM_1 D1 ON H.FK_DIM1 = D1.PK_DIM1 JOIN DIM_2 D2 ON H.FK_DIM2 = D2.PK_DIM2 http://ingmmurillo-dwh-bi.blogspot.com 29
  • Matriz de Hechos y Dimensiones Sirve para identificar dimensiones y hechos. Además, para identificar Dimensiones Conformadas / 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 http://ingmmurillo-dwh-bi.blogspot.com 30
  • Usar claves subrogadas (SK) ◦ 1 Dimensión, 1 Clave con tipo de dato numérico) ◦ Puede ser generada por una secuencia de la base de datos 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 http://ingmmurillo-dwh-bi.blogspot.com 31
  • Granularidad y Agregación ◦ Granularidad corresponde al nivel de detalle almacenado en el DWH ◦ Almacenar los datos al nivel más bajo de detalle posible ◦ 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 http://ingmmurillo-dwh-bi.blogspot.com 32
  • Las 5 funciones básicas de agregación de SQL son: Máximo: max() Mínimo: min() Conteo: count() Suma: sum() Promedio: avg() http://ingmmurillo-dwh-bi.blogspot.com 33
  • Modelar una dimensión para el tiempo y otra para la fecha ◦ Usar claves en el formato AAAAMMDD Tener 1 registro de DESCONOCIDO (N/D) en cada dimensión en vez de NULL SK Nombre Teléfono Fecha Nacimiento 0 Desconocido Desconocido 01/01/1970 DIM_CLIENTE http://ingmmurillo-dwh-bi.blogspot.com 34
  • La técnica de Slowly Changing Dimensions permite identificar y guardar qué registros cambiaron. 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 por cada una que se quiera registrar el cambio http://ingmmurillo-dwh-bi.blogspot.com 35
  • Sobrescribe el registro de una dimensión Situación Actual SK Identificación Nombre Ciudad 1 1728192211 Juan Pérez Quito Nueva Situación SK Identificación Nombre Ciudad 1 1728192211 Juan Pérez Cuenca http://ingmmurillo-dwh-bi.blogspot.com 36
  • Agrega un registro a la dimensión y 3 columnas: válido desde, válido hasta y versión Situación Actual SK Identificación Nombre 1 1728192211 Juan Pérez Ciudad Válido Desde Válido Hasta Quito 2013-01-01 2099-12-31 Versión 1 Nueva Situación SK Identificación Nombre Ciudad Válido Desde Válido Hasta 1 1728192211 2 1728192211 Versión Juan Pérez Quito 2013-01-01 2013-01-25 0 Juan Pérez Cuenca 2013-01-25 2099-12-31 1 http://ingmmurillo-dwh-bi.blogspot.com 37
  • Agrega una columna por cada cambio Situación Actual SK Identificación Nombre Ciudad Ciudad Antigua 1 1728192211 Juan Pérez Quito Quito Nueva Situación SK Identificación Nombre Ciudad Ciudad Antigua 1 1728192211 Juan Pérez Cuenca Quito http://ingmmurillo-dwh-bi.blogspot.com 38
  • 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 http://ingmmurillo-dwh-bi.blogspot.com 39
  • PSW PRD PDI CDF WEKA http://ingmmurillo-dwh-bi.blogspot.com 40
  • 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/ http://ingmmurillo-dwh-bi.blogspot.com 41
  • 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 para reportes. 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 42
  • http://ingmmurillo-dwh-bi.blogspot.com 43
  • http://ingmmurillo-dwh-bi.blogspot.com 44
  • Curso de Business Intelligence Curso de Data Warehousing 45
  • Integración de Datos: conjunto de actividades para llenar el DWH La integración de datos se descompone en 3 actividades ◦ Extracción: Adquirir datos de 1 o más fuentes ◦ Transformación: Cambiar la forma y contenido de los datos ◦ Loading (Carga): cargar los datos en los repositorios y el DWH http://ingmmurillo-dwh-bi.blogspot.com 46
  • 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) http://ingmmurillo-dwh-bi.blogspot.com 47
  • Actividades de Carga (Loading) Carga de Tabla de Hechos Carga de tablas temporales Carga y mantenimiento de Dimensiones Tablas de http://ingmmurillo-dwh-bi.blogspot.com 48
  • Las soluciones de PDI son construidas sobre 2 tipos diferentes de objetos: ◦ Transformaciones ◦ Trabajos (Jobs) El corazón de PDI es el motor de integración de 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 de forma remota http://ingmmurillo-dwh-bi.blogspot.com 49
  • http://ingmmurillo-dwh-bi.blogspot.com 50
  • 51
  • 1. 2. 3. 4. Crear el directorio c:pentaho Copiar biserver-ce-X.X.X.zip Descomprimir biserver-ce-X.X.X.zip Asegurarse tener la siguiente estructura: c:pentahobiserver-ce-X.X.X administration-console (PAC) c:pentahobiserver-ce-X.X.Xbiserver-ce (Servidor BI) PENTAHO_HOME = c:pentahobiserver-ce-X.X.X http://ingmmurillo-dwh-bi.blogspot.com 52
  • 5. 6. 7. Ir al directorio c:pentahobiserver-ceX.X.Xbiserver-ce Ejecutar el archivo start-pentaho.bat Abrir un navegador e ir al siguiente URL: http://localhost:8080/pentaho/ http://ingmmurillo-dwh-bi.blogspot.com 53
  • 1. 2. 3. 4. Abrir la consola de comandos (cmd) Ir al directorio %PENTAHO_HOME% biserver-cetomcatbin Ejecutar el comando: service.bat install Pentaho Ir a services.msc para verificar que se instaló el servicio Apache Tomcat Pentaho http://ingmmurillo-dwh-bi.blogspot.com 54
  • 1. 2. 3. 4. 5. 6. 7. 8. Crear base de datos pdi_repo, usuario pentaho_user (Todos los permisos) Copiar el archivo pdi-ce-X.X.X.zip al directorio c:pentaho Descomprimir el archivo y ejecutar Spoon.bat Agregar un nuevo repositorio Seleccionar Kettle Database Repository Crear una nueva conexión de nombre pdi_repo Crear repositorio de metadatos (Dry Run? No) Usar usuario admin / admin http://ingmmurillo-dwh-bi.blogspot.com 55
  • 1. 2. 3. 4. Abrir una consola de comandos (cmd) Ir a c:pentahopdi-ce-X.X.Xdataintegration Ejecutar el siguiente comando: Kitchen.bat /rep pdi_repo /user admin /pass admin /job NOMBRE_JOB Finalmente, crear Tarea Calendarizada del SO (Ejecutar Kitchen con Argumentos Paso 3) http://ingmmurillo-dwh-bi.blogspot.com 56
  • 1. 2. 3. 4. 5. En Input, arrastar Generate Rows En Limit colocar 3652 (10 años) Crear un campo de tipo Date de nombre fecha_inicial, formato yyyyMMdd y valor 20090101 En Transform arrastrar Add Sequence para generar las SKs. Name of Value = secuencia_dias, Start at Value = 0 Ir a Transform arrastrar Calculator http://ingmmurillo-dwh-bi.blogspot.com 57
  • 7. Crear los campos sk_fecha, anio, mes, día y fecha como se muestra en la siguiente tabla: http://ingmmurillo-dwh-bi.blogspot.com 58
  • Campo Calculation Field A Field B secuencia_dias v_fecha Date A + B Days fecha_inicial v_fecha_ str Create a copy of field A sk_fecha Value Type Conversion Mask Date yyyyMMdd v_fecha String yyyyMMdd Create a copy of 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 month of date A v_fecha Integer # fecha Create a copy of field A v_fecha Date dd/MM/yyyy http://ingmmurillo-dwh-bi.blogspot.com 59
  • 8. 9. 10. Ir a Output y arrastrar Table Output Seleccionar la tabla DIM_FECHA de la conexión al DWH, marcar Specify database fields para mapear los campos e ir a Enter Field Mapping Verificar y Ejecutar http://ingmmurillo-dwh-bi.blogspot.com 60
  • 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 http://ingmmurillo-dwh-bi.blogspot.com 61
  • Wiki de Pentaho CE: http://wiki.pentaho.com/display/COM/Community+Wiki+Ho me [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 http://ingmmurillo-dwh-bi.blogspot.com 62
  • Ing. Mauricio Murillo Rosero Código QR mauricio2k4@gmail.com http://ingmmurillo.blogspot.com http://ingmmurillo-dwh-bi.blogspot.com @ingmmurillo 63