View
343
Download
0
Category
Preview:
Citation preview
1
Jarley Nbrega jpn@cin.ufpe.br
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
Recommended