Anda di halaman 1dari 78

1

Jarley Nbrega jpn@cin.ufpe.br

Pentaho Data Integration

Dezembro de 2009

Agenda

O PDI e o Pentaho BI Suite


Instalando o PDI

Trabalhando com arquivos

Pentaho BI Suite
Coleo de Aplicaes de Software
Criao e deployment de solues para

tomada de deciso Open source


Enterprise /Community Editions
http://www.pentaho.com

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Anlise multidimensional

Integrao de dados Funcionalidades

Reporting

Dashboards

Minerao de dados

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquitetura do Pentaho BI

Camadas da arquitetura do Pentaho BI Suite (Bouman and Dongen, 2009)


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Pentaho BI Suite
Pentaho BI Platform demo
Instalao pr-configurada da plataforma Pentaho Demonstrao do uso de relatrios, cubos e

dashboards
Base de dados Steel Wheels

Download
http://sourceforge.net/projects/pentaho/files/ Pasta Business Intelligence Server: arquivo
biserver-ce-3.6.0.stable.zip (~170MB)

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Um pequeno roteiro para rodar o BI Server
Baixar e descompactar o arquivo Certifique-se que existe uma JVM instalada Verifique a varivel de ambiente JAVA_HOME Se estiver no Linux, d acesso de gravao e leitura para a pasta do tomcat.
sudo chmod 755 ./tomcat/*

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Um pequeno roteiro para rodar o BI Server
Inicie o BI Server Windows: <pasta>\bi-server-ce\start-pentaho.bat

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Um pequeno roteiro para rodar o BI Server
Inicie o BI Server Linux: <pasta>/bi-server-ce/sh
./start-pentaho.sh

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Um pequeno roteiro para rodar o BI Server
Acesse a url

http://localhost:8080/pentaho

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho BI Suite
Um pequeno roteiro para rodar o BI Server
Entre com o usurio joe e navegue na aplicao

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Uma das ferramentas de BI da plataforma Pentaho
Projeto open source encampado pelo Pentaho em 2006 Desenvolvido por Matt Casters Anteriormente conhecido como Kettle
KDE Extraction,

Transportation, Transformation and Loading Environment


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Pentaho Data Integration


Timeline do PDI

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Principais funcionalidades do PDI

Integrao de Dados

Processo de ETL

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Carregando dados em um DW ou datamart
Extrao
Processo de ETL

Transformao

Carregamento

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Validao e descarte de dados de acordo com regras e padres Converso dos tipos de dados, filtragem de dados, sumarizao

Extrao

de dados de diferentes fontes e formatos

Transformao

dos dados de acordo com requisitos tcnicos e de negcio

Carregamento

dos dados transformados em uma base de dados

Reescrita dos dados e adio de novas informaes

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration

Carregamento

Extrao

Transformao

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Atividades de Extrao
Captura dos dados Leitura a partir de diversas fontes Identificao de mudanas desde a ltima extrao. Staging Armazenamento temporrio dos dados.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Fontes de entrada de dados
Sistemas de gerenciamento de banco de dados

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Fontes de entrada de dados
Planilhas

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Fontes de entrada de dados
Arquivos texto ou XML

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data Integration


Atividades de Transformao
Validao dos dados Verificao se os dados esto corretos e precisos. Filtragem de dados invlidos.
Limpeza dos dados Correo de dados invlidos. Decodificao Converso de atributos (numricos, categricos) para adequao a um padro ou regra. Agregao

Gerao e gerenciamento de chaves Dimenses identificadas por chaves substitutas (surrogates).


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Pentaho Data Integration


Atividades de Carregamento
Carregamento das tabelas de fatos Adio de linhas tabela de fatos. Atualizao de atributos de status. Carregamento e manuteno das tabelas de

dimenses
Adio e atualizao de linhas das tabelas de dimenses.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Instalando o PDI
Pr-requisito
JRE (ou JDK) 5.x ou superior.

Download
http://sourceforge.net/projects/pentaho/files/

Pasta Data Integration Obter a ltima verso estvel

4.0.1 95.2 MB 3.2.0 77.2 MB

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Instalando o PDI
Aps descompactar o arquivo
Executar spoon.bat ou Kettle.exe (ou spoon.sh no

Linux)

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Instalando o PDI
Clique no boto No repository
A interface grfica do PDI (Spoon) ser carregada,

mostrando uma pgina de boas vindas.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Instalando o PDI
Dicas de configurao da rea de trabalho do Spoon

(Menu Editar -> Opes)

Aba General Show tips at startup? Show welcome page at startup? ... Aba Look-and-feel Preferred language ...

As mudanas estaro visveis aps reiniciar o Spoon

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Principais Componentes do PDI


O PDI trabalha com dois tipos bsicos de

componentes:

Transformaes Jobs

Caractersticas de transformaes e jobs


Definem o fluxo do processo de ETL Contm os metadados do processo de ETL Descrio dos dados; Fontes de entrada e sada; Scheduling; Scripting.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Principais Componentes do PDI


Como as transformaes e jobs so executados?
Uma transformao ou job consiste de uma coleo de itens interconectados

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Principais Componentes do PDI


Conexes entre os itens das transformaes e jobs
Hops
Pipeline do fluxo de

registros

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Principais Componentes do PDI


Steps, hops e o fluxo de registros

(Bouman and Dongen, 2009)


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Principais Componetes do PDI


Transformaes
Consiste de uma coleo de

Jobs
Consiste de uma coleo de

steps de transformao Cada step denota uma operao do processo de ETL A sada de um step produz um conjunto de registros Fluxo dos steps da transformao ocorre de forma simultnea e assncrona Arquivo .ktr
IN1177 - Banco de Dados para Suporte Deciso

transformaes ou de steps de jobs Cada entrada do job denota uma tarefa do processo de ETL A sada de cada entrada do job produz um status de execuo Fluxo dos steps do job ocorre de forma sequencial Arquivo .kjb
Janeiro de 2010

Metamodelo dos componentes do PDI

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Principais Componentes do PDI


Outros componentes do PDI:
Repositrios Os metadados das transformaes e jobs podem ser persistidos em um banco de dados (repositrio) Ferramentas: Spoon: IDE para desenvolvimento visual. Pan: execuo de transformaes em linha de comando. Kitchen: execuo de jobs em linha de comando. Carte: servidor de para execuo remota de transformaes e jobs.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquitetura do PDI

(Bouman and Dongen, 2009)

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccios 1 e 2
Criando as primeiras transformaes no PDI
Transformao simples Processo de ETL Extrao de dados de uma fonte (arquivo texto) Transformao dos dados Carregamento dos dados transformados (arquivo texto)

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 3
Criando uma conexo com um banco de

dados

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo dados no PDI


Vrios steps para extrair dados
Banco de dados; Informaes do sistema; Arquivos texto; ...

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo dados no PDI


Principais propriedades dos steps de extrao
Nome do step Obrigatrio e nico para cada step Nome e localizao do arquivo Descrio do contedo Separador, codificao, cabealho, etc. Depende do tipo do step Campos Filtros Ex.: pular linhas em branco, ler as primeiras n linhas, etc.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo dados de arquivos


Modo primitivo de armazenar dados
Comma-separated values (CSV); Planilhas; Arquivos flat; XML.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo dados de arquivos


Nome do Step Fonte dos dados

CSV File Input Excel Input Fixed file input


Text file input Get data from XML

Campos de um arquivo .CSV Clulas de uma planilha .XLS Texto de tamanho fixo
Idem ao CSV + tratamento de erros + filtros Ns e atributos de tags no formato XML

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 4
Extraindo dados de um arquivo texto,

realizando uma transformao e carregando o resultado em um arquivo texto.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Lendo vrios arquivos


At agora extramos dados de um nico

arquivo texto
Extrao de dados de vrios arquivos: Lista de arquivos Expresses regulares

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccios 5 e 6
Adicionando uma lista de arquivos de

entrada. Usando expresses regulares

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Expresses regulares
Em vrios steps do PDI podemos usar

expresses regulares Exemplos


Expresso regular
.*\.txt test(19|20)\d\d-(0[19]|1[012])\.txt

Combina com...
Qualquer arquivo .txt Qualquer arquivo comeando com test, seguido por uma data usando o formato yyyymm Qualquer arquivo .txt comeando com test escrito em maisculo ou minsculo

Exemplos
Arquivo.txt test2009-12.txt test2009-01.txt

(?i)test.+\.txt

TeSTcaseinsensitive.tXt

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Expresses regulares
Para saber mais sobre expresses regulares
Regular Expression Quick Start:

http://www.regularexpressions.info/quickstart.html The Java Regular Expression Tutorial: http://java.sun.com/docs/books/tutorial/essential/r egex/ Java Regular Expression Pattern Syntax: http://java.sun.com/javase/6/docs/api/java/util/reg ex/Pattern.html

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Enviando dados para arquivos


Vrios steps para enviar dados para arquivos
Nome do Step Destino dos dados

Excel output SQL file output


Text file output XML output

Clulas de uma planilha no formato .xls Comandos SQL em arquivo texto


Linhas em um arquivo texto (txt ou CSV) Ns e atributos de tags no formato XML

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Enviando dados para arquivos


Principais propriedades
Nome do step Obrigatrio e nico para cada step Nome e localizao do arquivo Opo Append Descrio do contedo Separador, codificao, cabealho, etc. Depende do tipo do step Campos

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Definies de dados do PDI


Dois conceitos importantes de dados para o PDI

Rowset
Streams

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Definies de dados do PDI


Rowset
Dados representados de

Streams
Dados enviados de um step

forma tabular (datasets) Cada coluna representa um campo


Nome (obrigatrio) Tipo: Number (float),

para outro
Os hops apenas repassam o

fluxo de dados

Cada step pode ter um

String, Date, Boolean, Integer e Big Number

Cada linha corresponde a

um membro do dataset
IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

rowset de entrada e outro de sada Boto direito -> Mostra campos de entrada/sada

Definies de dados do PDI

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Transformaes no dataset de arquivos


A forma mais simples de fazer

transformaes no rowset de um arquivo


Step Select Values

Operaes bsicas
Selecionar e Alterar Campos

Remover Campos
Alterar metadados dos campos

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 7
Alterando os campos do Exerccio 6 Gerando a sada para uma planilha Excel

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo informaes do Ambiente


O que vimos at agora?
Extrao dos dados de arquivos Realizando transformaes bsicas Carregando dados em arquivos

Como obter dados sem conhecer previamente

o nome dos arquivos?


Lendo informaes do ambiente
Step Get System Info

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Extraindo informaes do Ambiente


Variveis do S.O.
Datas Sistema de arquivos Rede

Variveis de ambiente do PDI

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 8
Extraindo informaes do sistema

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Tipos de Dados
Todo campo de um dataset possui um tipo de

dado Tipos suportados pelo PDI


Number (float) String Date Boolean Integer Big Number
IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Tipos de Dados
Date (padro API Java)

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Tipos de Dados
Date - Exemplos

Formato padro: yyyy/MM/dd


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Tipos de Dados
Campos numricos (padro API Java)
O PDI tenta interpretar dados numricos

Campos mais elaborados precisam de um formato Formatos mais usados


Smbolo Significado
Dgito zero no mostrado (pode arredondar) Se o dgito no estiver presente, o zero mostrado no lugar
Separador decimal Sinal de menos Campo deve ser multiplicado por 100 e exibido como percentual
Janeiro de 2010

# 0
. %

IN1177 - Banco de Dados para Suporte Deciso

Tipos de Dados
Campos numricos (padro API Java)
Exemplos - campo com valor 99.55
Formato Resultado

# 0
#.# #.## #.000 000.000

100 (arredondamento) 100 (arredondamento)


99.6 99.55 99.550 099.550

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Tipos de Dados
Campos numricos (padro API Java)
Algumas consideraes: Se no especificar o formato -> informar tamanho e preciso Por padro, o PDI tenta interpretar o nmero e repassa pelo hop sem aplicar nenhum formato.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 9
Aplicando formatos para datas e nmeros do

Exerccio 8

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquivos XML
Arquivos (ou documentos) XML so utilizados

para:
Armazenar dados Troca de dados entre sistemas heterogneos

Entrada de dados XML


Step Get data from XML

Sada de dados XML


Step XML output
IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Arquivos XML
Como o PDI trata arquivos XML?
<?xml version="1.0" encoding="UTF-8"?> <world> ... <country> <name>Argentina</name> <capital>Buenos Aires</capital> <language isofficial="T"> <name>Spanish</name> <percentage>96.8</percentage> </language> <language isofficial="F"> <name>Italian</name> <percentage>1.7</percentage> </language> <language isofficial="F"> <name>Indian Languages</name> <percentage>0.3</percentage> </language> </country> ... </world>

elemento atributo

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquivos XML
Como o PDI trata arquivos XML?
Step Get data from XML Notao Xpath: Conjunto de regras para recuperar informao de um documento XML Documento XML tratado como uma rvore formada por ns. Tipos de ns:
Elementos; Atributos; Texto

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquivos XML
Como o PDI trata arquivos XML?
Relacionamento entre os ns Um n tem um pai Um n tem zero ou mais filhos, irmos, ancestrais ou descendentes

Arquivo de exemplo: country o pai dos elementos name, capital e language. Os trs elementos so filhos de country.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquivos XML
Como o PDI trata arquivos XML?
Para acessar um n Usar uma expresso no formato XPath relativa ao n corrente.

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Arquivos XML
Exemplos XPath
Expresso node_name . .. @ Descrio Seleciona todos os ns filhos do n node_name. Seleciona o n corrente Seleciona o pai do n corrente Seleciona um atributo

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Exerccio 10
Extraindo uma lista com dados de pases em

XML Salvando o resultado em uma planilha

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Resumo da Semana 1

Arquitetura do Pentaho BI server Instalao do PDI Arquitetura do PDI Extrao de dados em arquivos texto (plain e XML) Carregamento de dados em arquivos texto e planilhas Extrao de informao a partir de informaes do ambiente Tipos de dados suportados pelo PDI Operaes bsicas de transformaes
IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Bibliografia

Site do PDI: http://kettle.pentaho.com/


IN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Anda mungkin juga menyukai