ingmmurillo - data warehousing con pentaho

63
Instructor: Ing. Mauricio Murillo Rosero 2013

Upload: mauricio-murillo

Post on 18-Dec-2014

1.404 views

Category:

Technology


10 download

DESCRIPTION

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

TRANSCRIPT

Instructor:

Ing. Mauricio Murillo Rosero

2013

Objetivos

Cronograma

Conceptos

Instrucciones SQL

Ejercicios Prácticos

2

� 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

17http://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

Modelo Estrella

27http://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

PDI

PRD

PSW

CDF

WEKA

40http://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

43http://ingmmurillo-dwh-bi.blogspot.com

44http://ingmmurillo-dwh-bi.blogspot.com

45

Curso de Data Warehousing

Curso de Business Intelligence

� 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

50http://ingmmurillo-dwh-bi.blogspot.com

51

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

[email protected]

http://ingmmurillo.blogspot.com

@ingmmurillo

http://ingmmurillo-dwh-bi.blogspot.com

63

Código QR