Aula 01 Tutorial Pdi

Embed Size (px)

Citation preview

1

Jarley Nbrega [email protected]

Pentaho Data Integration

Dezembro de 2009

Agenda

O PDI e o Pentaho BI SuiteInstalando 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 SuiteAnlise 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: arquivobiserver-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: \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: /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 IntegrationUma 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 EnvironmentIN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Pentaho Data IntegrationTimeline do PDI

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data IntegrationPrincipais 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 datamartExtraoProcesso de ETL

Transformao

Carregamento

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data IntegrationValidao 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 IntegrationFontes de entrada de dados Sistemas de gerenciamento de banco de dados

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data IntegrationFontes de entrada de dados Planilhas

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Pentaho Data IntegrationFontes 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 PDIComo 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 PDIConexes 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 PDITransformaes 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 .ktrIN1177 - 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 .kjbJaneiro 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 arquivosNome do Step Fonte dos dados

CSV File Input Excel Input Fixed file inputText file input Get data from XML

Campos de um arquivo .CSV Clulas de uma planilha .XLS Texto de tamanho fixoIdem 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 ExemplosExpresso 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

ExemplosArquivo.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 arquivosNome do Step Destino dos dados

Excel output SQL file outputText file output XML output

Clulas de uma planilha no formato .xls Comandos SQL em arquivo textoLinhas 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 PDIDois conceitos importantes de dados para o PDI

RowsetStreams

IN1177 - Banco de Dados para Suporte Deciso

Janeiro de 2010

Definies de dados do PDIRowset 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 datasetIN1177 - 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 NumberIN1177 - 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/ddIN1177 - 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 usadosSmbolo SignificadoDgito zero no mostrado (pode arredondar) Se o dgito no estiver presente, o zero mostrado no lugarSeparador decimal Sinal de menos Campo deve ser multiplicado por 100 e exibido como percentualJaneiro de 2010

# 0. %

IN1177 - Banco de Dados para Suporte Deciso

Tipos de Dados Campos numricos (padro API Java) Exemplos - campo com valor 99.55Formato 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 outputIN1177 - Banco de Dados para Suporte Deciso Janeiro de 2010

Arquivos XML Como o PDI trata arquivos XML? ... Argentina Buenos Aires Spanish 96.8 Italian 1.7 Indian Languages 0.3 ...

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 XPathExpresso 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 transformaesIN1177 - 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