96184254 ingmmurillo business intelligence y data warehousing con pentaho

120
Instructor: Ing. Mauricio Murillo Rosero CEC-EPN 2012

Upload: elvin-jose-landeta

Post on 03-Jan-2016

157 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Instructor:

Ing. Mauricio Murillo Rosero

CEC-EPN2012

Page 2: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Objetivos

Cronograma

Conceptos

Instrucciones SQL

Ejercicios

2

Page 3: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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)

3

Page 4: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Realizar actividades de Inteligencia de Negocios usando las herramientas de la plataforma Pentaho

� Construir reportes usando PRD (Pentaho Report Designer)

� Construir cubos de análisis usando PSW(Pentaho Schema Workbench)

4

Page 5: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Módulo Contenido Tiempo Aprox. (h)

Módulo I. Conceptos Generales

• Inteligencia de Negocios (BI)• Arquitecturas de BI• Plataformas de BI• Data Warehousing• Arquitectura Flujo de Datos

2

Módulo II. Caso de Estudio

• Análisis y comprensión de la naturaleza de los datos• Definición de Requerimientos

2

5

Page 6: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

4

6

Page 7: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

10

Módulo VII. Construcción de reportes usando PRD(Pentaho ReportDesigner)

• Estructura de reportes• Uso de parámetros• Diseño y formato• Agrupación y agregación de datos

5

7

Page 8: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

8

Módulo Contenido Tiempo Aprox. (h)

Módulo VIII. Construcción de Cubos de Análisis OLAP usando PSW(Pentaho SchemaWorkbench)

• Arquitectura Pentaho Analysis Services• Creación de esquemas Mondrian• Visualización de cubos Mondrian con JPivot

5

Page 9: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

9

Page 10: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

10

Page 11: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

11

Page 12: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

12

Page 13: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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. 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.)

13

Page 14: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

14

Page 15: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

15

Page 16: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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)

16

Page 17: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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 cambiantes (Un DWH Evoluciona)

17

Page 18: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

18

Page 19: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

19

Page 20: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

20

Page 21: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

21

Page 22: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

22

Page 23: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

23

Page 24: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

24

Page 25: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

25

Page 26: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

26

Page 27: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

27

Page 28: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

28

Page 29: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Modelo Estrella

29

Page 30: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

30

Page 31: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

31

Page 32: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

32

Page 33: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

33

Page 34: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

34

Page 35: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Las 5 funciones básicas de agregación de SQL

son:

� Máximo: max()

� Mínimo: min()

� Conteo: count()

� Suma: sum()

� Promedio: avg()

35

Page 36: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

36

Page 37: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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 porcada una que se quiera registrar el cambio

37

Page 38: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

38

Page 39: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Agrega un registro a la dimensión y 3 columnas: válido desde, válido hasta y versión

SK Identificación Nombre Ciudad Válido Desde Válido Hasta Versión

1 1728192211 Juan Pérez Quito 2012-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 2012-01-01 2012-01-25 0

2 1728192211 Juan Pérez Cuenca 2012-01-25 2099-12-31 1

39

Page 40: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

40

Page 41: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

41

Page 42: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

PDI

PRD

PSW

CDF

WEKA

42

Page 43: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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/

43

Page 44: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

44

Herramienta Versión Descripción

Pentaho BI Server 3.8.0 Servidor Central de Inteligencia de Negocios, Portal Web de Entrega de Información

Pentaho Design Studio (PDS) 4.0.0 Organización de soluciones, creación de xaction (Acciones de Secuencias)

Pentaho Data Integration (PDI)

4.2.1 Creación y ejecución de procesos ETL

Pentaho Metadata Editor (PME)

4.1.0 Creación y publicación de metadatos para reportes

Pentaho Report Designer (PRD)

3.8.2 Creación y publicación de reportes

Pentaho Schema Workbench (PSW)

3.3.0 Creación y publicación de cubos para análisis OLAP

Page 45: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

45

Page 46: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

46

Page 47: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

47

Page 48: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Integración de Datos: conjunto de actividades para llenar el DWH

� La integración de datos se descompone 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

48

Page 49: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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)

49

Page 50: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Actividades de Carga (Loading)

� Carga de Tabla de Hechos

� Carga de tablas temporales

� Carga y mantenimiento de Tablas de Dimensiones

50

Page 51: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

51

Page 52: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

52

Page 53: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Herramienta gráfica para crear, editar y publicar reportes al servidor de BI de Pentaho

� Puede usar como fuente modelos de metadatos

� Los reportes son almacenados usando el formato .prpt (Pentaho Report)

� Basado en bandas y muy similar a SAP CrystalReports

53

Page 54: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Las secciones (bandas) de un reporte en PRD

son:

� Page Header/Footer: Cualquier contenido de ésta sección será visto en cada página del reporte (Logos, Fecha, Nro. Página, etc.)

� Report Header/Footer: Cualquier contenido de ésta sección se mostrará una sola vez (Parámetros, Título, Totales)

� Group Header/Footer: Se tiene por lo menos 1 grupo (Etiquetas, Subtotales)

54

Page 55: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Details: Aquí van las filas individuales del resultado de una consulta. Tiene cabecera y pié de página

� No Data: Sirve para mostrar información cuando el resultado de la consulta está vacío

� Watermark: Marca de agua que será impresa como fondo en cada página del reporte

� Para ocultar/mostrar bandas cambiar la propiedad hide-on-canvas que se encuentra en Attributes

55

Page 56: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Elemento Descripción

label Texto estático, etiquetas de columna

text-field Valores de texto de un conjunto de datos

number-field Valores numéricos de una conjunto de datos

date-field Valores de fecha de un conjunto de datos

message-field Puede combinar texto, campos y funciones (Cliente: ${nombre} ${apellido} )

image-field Muestra imágenes desde un conjunto de datos

image Muestra una imagen local o desde una URL

... El resto sirven para crear gráficos, bandas, sub-reportes, etc.

56

Page 57: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� PRD puede tener 1 o n Data Sets pero sólo 1 Data Set activo

� Comúnmente el Data Set es una consulta a la base de datos a través de JDBC

� Es posible crear la consulta (Query) de forma gráfica (SQLeonardo) o escribiendo el SQL

� El Data Set puede ser obtenido también a través de una consulta a los metadatos

57

Page 58: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para agregar un parámetro, en la sección Data hacer clic en “Add a New Master-reportParameters”

� Los parámetros puede ser traídos de la base de datos (JDBC) o creados manualmente (Table)

� Para valores simples en la condición WHERE de una consulta colocar = ${nombreparam}

� Para valores múltiples colocar IN (${nombreparam})

58

Page 59: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� El Row-Banding permite manejar 1 color diferente para las filas pares y otro para las impares

� Para habilitarlo ir a Format � Row-Banding

� Seleccionar los colores y colocar el estado como Invisible

Visible Color

Invisible Color

59

Page 60: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Grupos, cabeceras y resúmenes

� Un Grupo permite organizar contenido en diferentes niveles

� En PRD siempre se crea un grupo por defecto

� Para editar grupos (Edit � Groups)

� Es necesario ordenar los datos en las consultas (ORDER BY)

60

Page 61: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para acceder a la funciones ir a Data �Functions

� Las funciones de agregación sirven para realizar funciones de agregación sobre los datos de un grupo

� Las funciones son Globales (Summary, Grupos) y de Ejecución (Running, Subgrupos)

� Deben tener un nombre único

� Algunas funciones son Page of Pages, Sum, Count, Maximum, Minimum…

61

Page 62: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para publicar un reporte en el servidor de BI

de Pentaho, se tiene que ir a File � Publish

URL: http://localhost:8080/pentaho

� Ingresar con el usuario Administrador

� Escoger la ubicación dentro de la solución

� Ingresar la clave de publicación (Publish Password)

� En el portal web de Pentaho, refrescar los

metadatos Herramientas � Actualizar �Actualizar Metadata de Reporte

62

Page 63: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Pentaho Analysis Services (PAS) provee las capacidades OLAP a la plataforma Pentaho

� PAS está compuesto por 4 componentes1. JPivot: interfaz gráfica para trabajar con cubos

OLAP

2. Mondrian ROLAP Engine: motor ROLAP

3. Schema Workbench: Herramienta visual para diseñar y probar cubos

4. Aggregate Designer: Herramienta visual para generar tablas agregadas

63

Page 64: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Esquema:

Archivo XML, describe 1 o más cubos multi-dimensionales

64

Page 65: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Multi Dimensional eXpressions

� Lenguaje creado para consultar bases de datos OLAP

� Estándar de facto desarrollado por Microsoft

� MDX es al modelo dimensional como SQL es al modelo relacional

65

Page 66: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Cubo

Un cubo es una colección de múltiples

Dimensiones

Cliente

Juan Pérez

José Quiroz

Pedro Ponce

MEDIDAS:• Ventas• Comisiones• Etc.

Tupla (Intersección Dim.)

66

Page 67: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Analogía con el Modelo Estrella

� Dimensiones Cubo = Dimensiones Modelo Estrella

� Medidas Cubo = Hechos Modelo Estrella

Visualización de un Cubo

� Se lo visualiza como una tabla cruzada (crosstab) o tabla pivot

67

Page 68: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Cliente

Juan Pérez

José Quiroz

Pedro Ponce

Nokia LG Samsung

2010 2011 2012 2010 2011 2012 2010 2011 2012

Juan Pérez Z

José Quiroz X

Pedro Ponce N

CuboRepresentado comoTabla Cruzada

68

Page 69: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Jerarquías

� Las dimensiones de un cubo son organizadas en 1 o más jerarquías (Hierarchy)

� Estructura tipo árbol

� Permite retraer datos del cubo de diferentes niveles de agregación

� Se pueden tener múltiples jerarquías

� Ejemplo: Año, Semestre, Mes (Dimensión Fecha)

69

Page 70: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Todas Fechas

2010

S1 S2

2011

S1

1 2 3…

S2

2012

S1 S2

…10 11 12

MIEMBROSNIVELES

TODOS

ANIO

SEMESTRE

MES

[FECHA].[MES].[2]MDX

Relación Padre / Hijo

70

Page 71: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Conexión a la base de datos ir a Options �Connection...

� A través de File � New � JDBC Explorer se podrá visualizar las tablas y columnas del DWH

� Para crear un nuevo esquema ir a File � New �Schema

� Colocar un nombre que no tenga espacios en blanco ni caracteres especiales y guardar

� En View � View XML se podrá visualizar la representación XML del esquema

� Sólo se permite 1 esquema por conexión

71

Page 72: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Las tareas para crear un cubo OLAP usando

PSW pueden resumirse en las siguientes:

� Crear un esquema

� Crear un cubo◦ Escoger la tabla de hechos

◦ Agregar medidas

� Crear dimensiones◦ Editar la jerarquía por defecto

◦ Definir niveles de jerarquía

◦ Opcionalmente, agregar más dimensiones

72

Page 73: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Creación de un cubo

� Para crear un cubo, clic derecho sobre

Schema � Add Cube

� Colocar el nombre (Name) y el título (Caption, lo que se mostrará en el portal)

� Dejar seleccionado cache, enabled y visible

� A un cubo se le asocia una tabla de hechos. Clic derecho sobre el cubo, Add Table para seleccionar la tabla de hechos

73

Page 74: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Creación de medidas (Measures)

� Sobre la tabla de hechos se agregan una o más medidas, haciendo clic en el botón

� La primera medida, es la medida por defecto

� En la medida colocar el nombre (name), columna (column), aggregator (sum, max, min, avg, count, distinct count), tipo de datos (datatype) y título (caption)

74

Page 75: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Creación de dimensiones

� Clic derecho sobre el cubo, Add Dimension

� Para dimensiones fechas usar el tipo: TimeDimension para el resto usar StandardDimension

� Colocar el nombre (name) y la clave foránea (foreignKey)

75

Page 76: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Creación de dimensiones

� En clave foránea seleccionar la clave foránea de la tabla de hechos (sk_fecha)

� Cuando se crea una dimensión, se crea una jerarquía por defecto

76

Page 77: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Edición de la jerarquía por defecto

� Sobre la jerarquía, hacer clic derecho, AddTable, seleccionar la dimensión

� En la jerarquía colocar el nombre (name), marcar hasAll, nombre de todos los miembros (allMemberName), título de todos los miembros (allMemberCaption) y la clave primaria de la dimensión (sk_fecha)

77

Page 78: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Definir niveles de jerarquía

◦ Sobre la jerarquía, clic derecho, Add Level

◦ En el nivel definir el nombre (name), columna (column), tipo (type), tipo de nivel (levelType)

◦ Para niveles de fecha el tipo de nivel puede ser: TimeYears, TimeHalfYear, TimeHalfYears, TimeQuarters, TimeMonths, TimeWeeks, TimeDays

◦ Para el resto de niveles se usa Regular

◦ Crear las dimensiones, jerarquías y niveles que se requiera

78

Page 79: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para probar que el esquema y cubo fueron

creados correctamente, ir a File � New �MDX Query

� Colocar la siguiente consulta:select NON EMPTY {[Measures].[nombre_medida]} ON COLUMNS,

NON EMPTY Hierarchize({[dim_fecha.default].[todos_los_anios]}) ON ROWS

from [cubo_olap]

79

Page 80: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para publicar un esquema, seleccionar el esquema e ir a File � Publish...

� Colocar lo siguiente:URL = http://localhost:8080/pentahoPublish Password = pentahoUser = joePassword = password

� Seleccionar la solución, colocar el nombre JNDI de la conexión

� Marcar Register XMLA Data Source para poder acceder desde el portal de Pentaho (New Analysis View)

80

Page 81: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� Para visualizar un esquema de Mondriancreado desde PSW, en el portal de Pentaho, hacer clic sobre New Analysis View

� Las principales operaciones que se puede hacer sobre un cubo OLAP son:◦ Drill Down/Up (Excavar)

◦ Slice (Cortar / Filtrar)

◦ Pivot (Pivotear, Intercambiar Ejes)

81

Page 82: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

82

Page 83: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Crear el directorio c:\pentaho

2. Copiar biserver-ce-3.8.0.zip

3. Descomprimir biserver-ce-3.8.0.zip

4. Asegurarse tener la siguiente estructura:

c:\pentaho\biserver-ce-3.8.0\administration-console (PAC)

c:\pentaho\biserver-ce-3.8.0\biserver-ce(Servidor BI)

PENTAHO_HOME = c:\pentaho\biserver-ce-3.8.0

83

Page 84: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

5. Ir al directorio c:\pentaho\biserver-ce-3.8.0\biserver-ce

6. Ejecutar el archivo start-pentaho.bat

7. Abrir un navegador e ir al siguiente URL:

http://localhost:8080/pentaho/

84

Page 85: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

85

Page 86: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir a %PENTAHO_HOME%\ biserver-ce\data\postgresql

2. Copiar los scripts: create_repository_postgresql.sql, create_sample_datasource_postgresql.sql, create_quartz_postgresql.sql al directorio C:\Program Files\PostgreSQL\8.4\scripts\runpsql.bat

86

Page 87: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

3. Ejecutar el programa runpsql.bat

4. Ingresar las credenciales y ejecutar en la consola de comandos de Postgres el comando:

\i create_repository_postgresql.sql

5. Luego el comando \i create_sample_datasource_postgresql.sql

6. Finalmente ejecutar los comandos:

\connect postgres

\i create_quartz_postgresql.sql

87

Page 88: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

7. Ir al directorio %PENTAHO_HOME%\biserver-ce\tomcat\webapps\pentaho\META-INF

8. Editar el archivo context.xml

9. Cambiar las cadenas de conexión para el nuevo repositorio

driverClassName = org.postgresql.Driver

url = jdbc:postgresql://127.0.0.1:5432/hibernate

validationQuery = select version();

88

Page 89: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

10. Copiar el archivo postgresql-8.4-703.jdbc3.jar a los directorios:

%PENTAHO_HOME%\biserver-ce\tomcat\lib

%PENTAHO_HOME%\ administration-console\jdbc

11. Ir al directorio %PENTAHO_HOME%\biserver-ce\pentaho-solutions\system\hibernate

89

Page 90: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

12. Editar el archivo hibernate-settings.xml y cambiar la etiqueta <config-file>

<configfile>

system/hibernate/postgresql.hibernate.cfg.xml

</config-file>

13. Ir al directorio %PENTAHO_HOME%\biserver-ce\pentaho-solutions\system y editar los archivos applicationContext-spring-security-jdbc.xml y applicationContext-spring-security-hibernate.properties

90

Page 91: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

14. Para JDBC y Hibernate usar las siguientes configuraciones:

jdbc.driver=org.postgresql.Driver

jdbc.url=jdbc:postgresql://127.0.0.1:5432/hibernate

jdbc.username=hibuser

jdbc.password=password

hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

15. Reiniciar Pentaho para aplicar la configuración

91

Page 92: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir al directorio %PENTAHO_HOME% \biserver-ce\pentaho-solutions\system

2. Editar el archivo publisher_config.xml

3. En la etiqueta <publisher-password>colocar:

<publisher-password>pentaho</publisher-password>

92

Page 93: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir al directorio %PENTAHO_HOME%\biserver-ce\pentaho-solutions\system\smtp-email

2. Editar el archivo email_config_gmail.xml3. Asignar los valores para las etiquetas:

<mail.from.default>, <mail.userid> y < mail.password>

4. Renombrar el archivo a email_config.xml5. Reiniciar Pentaho6. Ir al reporte Burst Sales Report para probar

(Usar IE)

93

Page 94: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir al directorio %PENTAHO_HOME%\administration-console\resource\config

2. Editar el archivo console.xml

3. Asignar los siguientes valores a las etiquetas <solution-path> y <war-path><solution-path>../biserver-ce/pentaho-solutions</solution-path>

<war-path>../biserver-ce/tomcat/webapps/pentaho</war-path>

94

Page 95: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir al directorio %PENTAHO_HOME%\administration-console

2. Ejecutar el archivo start-pac.bat

3. Abrir un navegador de internet e ir al siguiente URL

http://localhost:8099

95

Page 96: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Crear base de datos pdi_repo, usuario pentaho_user (Todos los permisos)

2. Copiar el archivo pdi-ce-4.2.1.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

96

Page 97: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. En el directorio c:\pentaho, crear la carpeta src

2. Crear un hola_mundo.txt con los siguientes datos:

NombreLeonardoHenryÁlvaro

3. Ir a File � New � Transformation4. Ir a Design/Input Arrastrar Text File Input

5. Renombrar Text File Input a Agregar Archivo

6. En File, Agregar el archivo hola_mundo.txt

97

Page 98: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

7. En Transform arrastrar Add Constants. Definir 2 Constantes:

mensaje (String) = Bienvenido a Pentahoexclamacion (String) = !!!

8. Ir a Output arrastrar Text File Output, renombrar a Escribir Archivo Salida

9. En FileName colocar c:\pentaho\src\hola_mundo_salida

10. Get Fields y ordenar (mensaje, nombre, exclamación)

11. Verificar, Guardar y Ejecutar

98

Page 99: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir a Tools � Repository � Explore. En Connections agregar conexión a la base de datos stage. Usuario pentaho_user / password (Conexión Global)

2. Crear nueva transformación TRS_HOLA_MUNDO_BDD

3. Ir a Design/Input arrastar Table Input y renombrar a Leer Tabla Entrada

4. Insertar el SQL: SELECT * FROM alumno

5. Arrastrar Add Constants y Crear 1 Constante saludo(String) = Bienvenido

99

Page 100: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

6. Ir a Output y arrastrar Table Output

7. Seleccionar la conexión stage, marcar Truncate Table y Specify Database Fields

8. En Target Table colocar holamundo

9. En Database Fields hacer clic en Get Fields

10. Hacer clic en SQL y ejecutar

11. Validar transformación, guardar y ejecutar

100

Page 101: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Ir a File � New � Job

2. Colocar el nombre JOB_EJECUCION_HOLA_MUNDO

3. Ir a General, Arrastrar START

4. Luego Arrastrar Transformaciones, SpecifyBy Reference y Seleccionar TRS_HOLA_MUNDO

5. Repetir el paso 4 para TRS_HOLA_MUNDO_BDD

6. Arrastrar Success y Mail

101

Page 102: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

7. En Mail Configurar lo siguiente:

SMTP Server = smtp.gmail.com

Port = 587

Use Authentication = Sí

Auth User = ingmmurillo.capacitacion

Password = ………

Use Secure Auth = Sí

Secure Connection Type = TLS

102

Page 103: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Abrir una consola de comandos (cmd)

2. Ir a c:\pentaho\pdi-ce-4.2.1\data-integration

3. Ejecutar el siguiente comando:

Kitchen.bat /rep pdi_repo /useradmin /pass admin /jobJOB_EJECUCION_HOLA_MUNDO

4. Finalmente, crear Tarea Calendarizada del SO (Ejecutar Kitchen con Argumentos Paso 3)

103

Page 104: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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, Counter Name =SEQ_DIM_FECHA, Start at Value = 0

5. Ir a Transform arrastrar Calculator

104

Page 105: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

7. Crear los campos sk_fecha, anio, mes, día y fecha como se muestra en la siguiente tabla:

105

Page 106: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

106

Page 107: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

107

Page 108: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Crear una nueva transformación de nombre TRS_CARGA_DIM_SUCURSAL

2. De Input, arrastrar Table Input. Usando la conexión stage, colocar el SQL: SELECT ID, NOMBRE, RESPONSABLE FROM STG_SUCURSAL_CIA

3. Arrastrar de Data Warehouse, Combinationlookup/update

4. Usar la conexión dwh, y seleccionar Target Table = DIM_SUCURSAL

108

Page 109: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

5. Hacer clic en Get Fields. El campo pk_sucursal asociarlo a id. Deben quedar pk_sucursal, nombre y responsable

6. En Technical Key Field ingresar sk_sucursal7. Dejar el resto por defecto y clic en OK8. Arrastrar un Table Input, y con la conexión

al DWH colocar el siguiente SQL: SELECT SK_SUCURSAL FROM DIM_SUCURSAL WHERE SK_SUCURSAL = 0;

9. Arrastrar un Filter Rows con la condiciónSK_SUCURSAL IS NULL

109

Page 110: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

10. Arrastrar un SQL Script, usando la conexión al dwh, colocar el siguiente SQL: INSERT INTO DIM_SUCURSAL VALUES (0,'0','N/D','N/D');

11. Marcar Execute for each row y clic en OK

12. Unir el filtro con el SQL Script para la condición Result is TRUE

13. Arrastrar un Dummy y unirlo con el filtro para la condición Result is FALSE

14. Guardar, validar y probar

110

Page 111: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

111

Page 112: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Crear una nueva transformación de nombre TRS_CARGA_DIM_CLIENTE

2. Arrastrar un Table Input, usando la conexión stage colocar el siguiente SQL: SELECT ID,IDENTIFICACION,NOMBRE,APELLIDO,DIRECCION FROM STG_CLIENTE

3. De Data Warehouse, arrastrar el componente Dimension lookup / update y unirlo con el Table Input

112

Page 113: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

4. En Dimension lookup/update, usar la conexión dwh, Target Table = dim_cliente

5. En Technical Key Field, colocar SK_CLIENTE6. En Date range start field colocar

FECHA_DESDE7. Marcar Use an alternative start date? Y

seleccionar System Date8. En Table daterange end colocar

FECHA_HASTA9. Hacer clic en Get Fields, en la pestaña de

Key dejar mapeado sólo pk_cliente con id

113

Page 114: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

10. Ir a la pestaña de Fields y hacer clic otra vez en Get Fields

11. Para identificacion, nombre y apellido seleccionar Update en Type of dimensionupdate

12. Para direccion dejar Insert

13. Hacer clic en SQL y ejecutar el script

14. Arrastrar un Filter Rows y

15. Validar, Guardar y Ejecutar

114

Page 115: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Copiar el archivo prd-ce-3.8.2.zip al directorio c:\pentaho

2. Descomprimir el archivo

3. Ir a c:\pentaho\prd-ce-3.8.2\report-designer

4. Copiar el archivo postgresql-8.4-703.jdbc3.jar al directorio \lib\jdbc

5. En \report-designer ejecutar report-designer.bat

115

Page 116: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Copiar el archivo psw-ce-3.3.0.14703.zip al directorio c:\pentaho

2. Descomprimir el archivo

3. Ir a c:\pentaho\psw-ce-3.3.0.14703\schema-workbench

4. Copiar el archivo postgresql-8.4-703.jdbc3.jar al directorio \drivers

5. Ejecutar workbench.bat

116

Page 117: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

1. Asegurarse que Pentaho BI Server esté iniciado

2. Abrir una consola de comandos (cmd)

3. Ir a C:\pentaho\biserver-ce-3.8.0\administration-console

4. Ejecutar start-pac.bat

5. Abrir un navegador e ir a http://localhost:8099 (admin/password)

6. Ir a Administration / Database Connections

117

Page 118: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

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

118

Page 119: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

� 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

119

Page 120: 96184254 Ingmmurillo Business Intelligence y Data Warehousing Con Pentaho

Ing. Mauricio Murillo Rosero

[email protected]

http://ingmmurillo.blogspot.com

@ingmmurillo

120