SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
1
Jarley Nóbrega – jpn@cin.ufpe.br
PentahoDataIntegration
Dezembro de 2009
Agenda
Instalando o PDI
O PDI e o Pentaho BI Suite
Trabalhando com arquivos
PentahoBISuite
 Coleção de Aplicações de Software
 Criação e deployment de soluções para
tomada de decisão
 Open source
 Enterprise /Community Editions
 http://www.pentaho.com
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
Funcionalidades
Análise
multidimensional
Reporting
Mineração
de dados
Dashboards
Integração
de dados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquiteturadoPentahoBI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Camadas da arquitetura do Pentaho BI Suite (Bouman and Dongen, 2009)
PentahoBISuite
 Pentaho BI Platform demo
 Instalação pré-configurada da plataforma Pentaho
 Demonstração do uso de relatórios, 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)
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
 Um pequeno roteiro para rodar o BI Server
 Baixar e descompactar o arquivo
 Certifique-se que existe uma JVM instalada
 Verifique a variável de ambiente JAVA_HOME
 Se estiver no Linux, dê acesso de gravação e leitura
para a pasta do tomcat.
 sudo chmod 755 ./tomcat/*
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
 Um pequeno roteiro para rodar o BI Server
 Inicie o BI Server
 Windows: <pasta>bi-server-cestart-pentaho.bat
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
 Um pequeno roteiro para rodar o BI Server
 Inicie o BI Server
 Linux: <pasta>/bi-server-ce/sh ./start-pentaho.sh
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
 Um pequeno roteiro para rodar o BI Server
 Acesse a url
http://localhost:8080/pentaho
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoBISuite
 Um pequeno roteiro para rodar o BI Server
 Entre com o usuário “joe” e navegue na aplicação
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
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
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
Timeline do PDI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
Principais funcionalidades
do PDI Integração
de Dados
Processo
de ETL
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
 Carregando dados em um DW ou datamart
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
Processo de
ETL
Extração
Transformação
Carregamento
PentahoDataIntegration
Extração
de dados de diferentes
fontes e formatos
Validação e descarte
de dados de acordo
com regras e padrões
Transformação
dos dados de acordo
com requisitos
técnicos e de negócio
Conversão dos tipos
de dados, filtragem de
dados, sumarização
Carregamento
dos dados
transformados em
uma base de dados
Reescrita dos dados e
adição de novas
informações
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Extração Transformação
Carregamento
PentahoDataIntegration
 Atividades de Extração
 Captura dos dados
 Leitura a partir de diversas fontes
 Identificação de mudanças desde a última extração.
 Staging
 Armazenamento temporário dos dados.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
Fontes de entrada de
dados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
 Sistemas de
gerenciamento de
banco de dados
PentahoDataIntegration
Fontes de entrada de
dados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
 Planilhas
PentahoDataIntegration
Fontes de entrada de
dados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
 Arquivos texto ou XML
PentahoDataIntegration
 Atividades deTransformação
 Validação dos dados
 Verificação se os dados estão corretos e precisos.
 Filtragem de dados inválidos.
 Limpeza dos dados
 Correção de dados inválidos.
 Decodificação
 Conversão de atributos (numéricos, categóricos) para
adequação a um padrão ou regra.
 Agregação
 Geração e gerenciamento de chaves
 Dimensões identificadas por chaves substitutas (“surrogates”).
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PentahoDataIntegration
 Atividades de Carregamento
 Carregamento das tabelas de fatos
 Adição de linhas à tabela de fatos.
 Atualização de atributos de status.
 Carregamento e manutenção das tabelas de
dimensões
 Adição e atualização de linhas das tabelas de
dimensões.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
InstalandooPDI
 Pré-requisito
 JRE (ou JDK) 5.x ou superior.
 Download
 http://sourceforge.net/projects/pentaho/files/
 Pasta “Data Integration”
 Obter a última versão estável
 4.0.1 – 95.2 MB
 3.2.0 – 77.2 MB
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
InstalandooPDI
 Após descompactar o arquivo
 Executar spoon.bat ou Kettle.exe (ou spoon.sh no
Linux)
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
InstalandooPDI
 Clique no botão “No repository”
 A interface gráfica do PDI (Spoon) será carregada,
mostrando uma página de boas vindas.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
InstalandooPDI
 Dicas de configuração da área de trabalho do Spoon
(Menu Editar -> Opções)
 Aba “General”
 Show tips at startup?
 Show welcome page at startup?
 ...
 Aba “Look-and-feel”
 Preferred language
 ...
 As mudanças estarão visíveis após reiniciar o Spoon
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PrincipaisComponentesdoPDI
 O PDI trabalha com dois tipos básicos de
componentes:
 Transformações
 Jobs
 Características de transformações e jobs
 Definem o fluxo do processo de ETL
 Contém os metadados do processo de ETL
 Descrição dos dados;
 Fontes de entrada e saída;
 Scheduling;
 Scripting.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PrincipaisComponentesdoPDI
Como as transformações
e jobs são executados?
 Uma transformação ou
job consiste de uma
coleção de itens
interconectados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PrincipaisComponentesdoPDI
Conexões entre os itens
das transformações e jobs
 Hop’s
 Pipeline do fluxo de
registros
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PrincipaisComponentesdoPDI
 Steps, hops e o fluxo de registros
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
(Bouman and Dongen, 2009)
PrincipaisComponetesdoPDI
Jobs
 Consiste de uma coleção de
steps de transformação
 Cada step denota uma
operação do processo de ETL
 A saída de um step produz um
conjunto de registros
 Fluxo dos steps da
transformação ocorre de
forma simultânea e
assíncrona
 Arquivo .ktr
 Consiste de uma coleção de
transformações ou de steps
de jobs
 Cada entrada do job denota
uma tarefa do processo de
ETL
 A saída de cada entrada do
job produz um status de
execução
 Fluxo dos steps do job ocorre
de forma sequencial
 Arquivo .kjb
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Transformações
MetamodelodoscomponentesdoPDI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
PrincipaisComponentesdoPDI
 Outros componentes do PDI:
 Repositórios
 Os metadados das transformações e jobs podem ser
persistidos em um banco de dados (repositório)
 Ferramentas:
 Spoon: IDE para desenvolvimento visual.
 Pan: execução de transformações em linha de comando.
 Kitchen: execução de jobs em linha de comando.
 Carte: servidor de para execução remota de
transformações e jobs.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquiteturadoPDI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
(Bouman and Dongen, 2009)
Exercícios1e2
 Criando as primeiras transformações no PDI
 Transformação simples
 Processo de ETL
 Extração de dados de uma fonte (arquivo texto)
 Transformação dos dados
 Carregamento dos dados transformados (arquivo
texto)
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Exercício3
 Criando uma conexão com um banco de
dados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ExtraindodadosnoPDI
 Vários steps para extrair dados
 Banco de dados;
 Informações do sistema;
 Arquivos texto;
 ...
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ExtraindodadosnoPDI
 Principais propriedades dos steps de extração
 Nome do step
 Obrigatório e único para cada step
 Nome e localização do arquivo
 Descrição do conteúdo
 Separador, codificação, cabeçalho, etc.
 Depende do tipo do step
 Campos
 Filtros
 Ex.: pular linhas em branco, ler as primeiras n linhas, etc.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Extraindodadosdearquivos
 Modo “primitivo” de armazenar dados
 Comma-separated values (CSV);
 Planilhas;
 Arquivos flat;
 XML.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Extraindodadosdearquivos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Nome do Step Fonte dos dados
CSV File Input Campos de um arquivo .CSV
Excel Input Células de uma planilha .XLS
Fixed file input Texto de tamanho fixo
Text file input Idem ao CSV + tratamento de erros +
filtros
Get data from XML Nós e atributos de tags no formato
XML
Exercício4
 Extraindo dados de um arquivo texto,
realizando uma transformação e carregando o
resultado em um arquivo texto.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Lendováriosarquivos
 Até agora extraímos dados de um único
arquivo texto
 Extração de dados de vários arquivos:
 Lista de arquivos
 Expressões regulares
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Exercícios5e6
 Adicionando uma lista de arquivos de
entrada.
 Usando expressões regulares
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Expressõesregulares
 Em vários steps do PDI podemos usar
expressões regulares
 Exemplos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Expressão regular Combina com... Exemplos
.*.txt Qualquer arquivo .txt Arquivo.txt
test(19|20)dd-(0[1-
9]|1[012]).txt
Qualquer arquivo
começando com test,
seguido por uma data
usando o formato yyyy-
mm
test2009-12.txt
test2009-01.txt
(?i)test.+.txt Qualquer arquivo .txt
começando com test
escrito em maiúsculo ou
minúsculo
TeSTcaseinsensitive.tXt
Expressõesregulares
 Para saber mais sobre expressões regulares
 Regular ExpressionQuick Start:
http://www.regular-
expressions.info/quickstart.html
 The Java Regular ExpressionTutorial:
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
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Enviandodadosparaarquivos
 Vários steps para enviar dados para arquivos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Nome do Step Destino dos dados
Excel output Células de uma planilha no formato .xls
SQL file output Comandos SQL em arquivo texto
Text file output Linhas em um arquivo texto (txt ou
CSV)
XML output Nós e atributos de tags no formato
XML
Enviandodadosparaarquivos
 Principais propriedades
 Nome do step
 Obrigatório e único para cada step
 Nome e localização do arquivo
 Opção Append
 Descrição do conteúdo
 Separador, codificação, cabeçalho, etc.
 Depende do tipo do step
 Campos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
DefiniçõesdedadosdoPDI
Dois conceitos importantes de
dados para o PDI Rowset
Streams
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
DefiniçõesdedadosdoPDI
Rowset Streams
 Dados representados de
forma tabular (datasets)
 Cada coluna representa um
campo
 Nome (obrigatório)
 Tipo: Number (float),
String, Date, Boolean,
Integer e Big Number
 Cada linha corresponde a
um membro do dataset
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
 Dados enviados de um step
para outro
 Os hops apenas repassam o
fluxo de dados
 Cada step pode ter um
rowset de entrada e outro
de saída
 Botão direito -> Mostra
campos de entrada/saída
DefiniçõesdedadosdoPDI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Transformaçõesnodatasetdearquivos
 A forma mais simples de fazer
transformações no rowset de um arquivo
 Step SelectValues
 Operações básicas
 Selecionar e Alterar Campos
 RemoverCampos
 Alterar metadados dos campos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Exercício7
 Alterando os campos do Exercício 6
 Gerando a saída para uma planilha Excel
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ExtraindoinformaçõesdoAmbiente
 O que vimos até agora?
 Extração dos dados de arquivos
 Realizando transformações básicas
 Carregando dados em arquivos
 Como obter dados sem conhecer previamente
o nome dos arquivos?
 Lendo informações do ambiente
 Step Get System Info
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ExtraindoinformaçõesdoAmbiente
 Variáveis do S.O.
 Datas
 Sistema de arquivos
 Rede
 Variáveis de ambiente
do PDI
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Exercício8
 Extraindo informações do sistema
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
TiposdeDados
 Todo campo de um dataset possui um tipo de
dado
 Tipos suportados pelo PDI
 Number (float)
 String
 Date
 Boolean
 Integer
 Big Number
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
TiposdeDados
 Date (padrão API Java)
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
TiposdeDados
 Date - Exemplos
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Formato padrão: yyyy/MM/dd
TiposdeDados
 Campos numéricos (padrão API Java)
 O PDI tenta “interpretar” dados numéricos
 Campos mais elaborados precisam de um formato
 Formatos mais usados
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Símbolo Significado
# Dígito zero não é mostrado (pode arredondar)
0 Se o dígito não estiver presente, o zero é mostrado no
lugar
. Separador decimal
- Sinal de menos
% Campo deve ser multiplicado por 100 e exibido como
percentual
TiposdeDados
 Campos numéricos (padrão API Java)
 Exemplos - campo com valor 99.55
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Formato Resultado
# 100 (arredondamento)
0 100 (arredondamento)
#.# 99.6
#.## 99.55
#.000 99.550
000.000 099.550
TiposdeDados
 Campos numéricos (padrão API Java)
 Algumas considerações:
 Se não especificar o formato -> informar tamanho e
precisão
 Por padrão, o PDI tenta “interpretar” o número e
repassa pelo hop sem aplicar nenhum formato.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Exercício9
 Aplicando formatos para datas e números do
Exercício 8
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquivosXML
 Arquivos (ou documentos) XML são utilizados
para:
 Armazenar dados
 Troca de dados entre sistemas heterogêneos
 Entrada de dados XML
 Step Get data from XML
 Saída de dados XML
 Step XML output
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquivosXML
 Como o PDI trata arquivos XML?
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
<?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
ArquivosXML
 Como o PDI trata arquivos XML?
 Step Get data from XML
 Notação Xpath: Conjunto de regras para recuperar
informação de um documentoXML
 Documento XML tratado como uma árvore formada
por nós.
 Tipos de nós:
 Elementos;
 Atributos;
 Texto
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquivosXML
 Como o PDI trata arquivos XML?
 Relacionamento entre os nós
 Um nó tem um pai
 Um nó tem zero ou mais filhos, irmãos, ancestrais
ou descendentes
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Arquivo de exemplo: country é o pai dos elementos name,
capital e language.Os três elementos são filhos de country.
ArquivosXML
 Como o PDI trata arquivos XML?
 Para acessar um nó
 Usar uma expressão no formato XPath relativa ao nó
corrente.
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ArquivosXML
 Exemplos XPath
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Expressão Descrição
node_name Seleciona todos os nós filhos do nó node_name.
. Seleciona o nó corrente
.. Seleciona o pai do nó corrente
@ Seleciona um atributo
Exercício10
 Extraindo uma lista com dados de países em
XML
 Salvando o resultado em uma planilha
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
ResumodaSemana1
 Arquitetura do Pentaho BI server
 Instalação do PDI
 Arquitetura do PDI
 Extração de dados em arquivos texto (plain e
XML)
 Carregamento de dados em arquivos texto e
planilhas
 Extração de informação a partir de informações
do ambiente
 Tipos de dados suportados pelo PDI
 Operações básicas de transformações
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Bibliografia
Janeiro de 2010
IN1177 - Banco de Dados para Suporte à Decisão
Site do PDI: http://kettle.pentaho.com/

Mais conteúdo relacionado

Mais procurados

Etl overview training
Etl overview trainingEtl overview training
Etl overview trainingMondy Holten
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Marconi Pacheco
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Leinylson Fontinele
 
Etl And Data Test Guidelines For Large Applications
Etl And Data Test Guidelines For Large ApplicationsEtl And Data Test Guidelines For Large Applications
Etl And Data Test Guidelines For Large ApplicationsWayne Yaddow
 
Microsoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview SlidesMicrosoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview SlidesMark Kromer
 
Azure data factory
Azure data factoryAzure data factory
Azure data factoryDavid Giard
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lakeJames Serra
 
Traditional data warehouse vs data lake
Traditional data warehouse vs data lakeTraditional data warehouse vs data lake
Traditional data warehouse vs data lakeBHASKAR CHAUDHURY
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a InternetLeonardo Soares
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform LoadABDUL KHALIQ
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data EngineeringDurga Gadiraju
 

Mais procurados (20)

Etl overview training
Etl overview trainingEtl overview training
Etl overview training
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas
 
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
Banco de Dados II Aula 05 - Modelagem de Dados (Normalização de dados e as fo...
 
Windows explorer
Windows explorerWindows explorer
Windows explorer
 
Formulário HTML
Formulário HTMLFormulário HTML
Formulário HTML
 
Etl And Data Test Guidelines For Large Applications
Etl And Data Test Guidelines For Large ApplicationsEtl And Data Test Guidelines For Large Applications
Etl And Data Test Guidelines For Large Applications
 
Microsoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview SlidesMicrosoft Azure Data Factory Hands-On Lab Overview Slides
Microsoft Azure Data Factory Hands-On Lab Overview Slides
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
 
Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lake
 
Traditional data warehouse vs data lake
Traditional data warehouse vs data lakeTraditional data warehouse vs data lake
Traditional data warehouse vs data lake
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Etl - Extract Transform Load
Etl - Extract Transform LoadEtl - Extract Transform Load
Etl - Extract Transform Load
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Business intelligence
Business intelligenceBusiness intelligence
Business intelligence
 
Introduction to Data Engineering
Introduction to Data EngineeringIntroduction to Data Engineering
Introduction to Data Engineering
 

Semelhante a Aula 01-Tutorial ETL com PDI

Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01Mauricio de Castro
 
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfINE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfssuseref058e
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIJarley Nóbrega
 
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...Mauricio Cesar Santos da Purificação
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreIT4biz IT Solutions
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreCaio Moreno
 
Lync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e ImplementaçãoLync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e Implementaçãobrunoestrozi
 
F1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lF1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lconfidencial
 
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Caio Moreno
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...IT4biz IT Solutions
 
Pentaho inteligência de negócios utilizando software livre campus party 2011
Pentaho  inteligência de negócios utilizando software livre   campus party 2011Pentaho  inteligência de negócios utilizando software livre   campus party 2011
Pentaho inteligência de negócios utilizando software livre campus party 2011Campus Party Brasil
 
Pentaho Open Source BI Suite - Technical Overview
Pentaho Open Source BI Suite - Technical OverviewPentaho Open Source BI Suite - Technical Overview
Pentaho Open Source BI Suite - Technical Overviewshsouza
 
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...fabiolagrijo
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewRoberto Oliveira
 
Artigo data warehouse bd ii - 2015-1
Artigo data warehouse   bd ii - 2015-1Artigo data warehouse   bd ii - 2015-1
Artigo data warehouse bd ii - 2015-1Darlene Coelho
 
Artigo data warehouse bd ii - 2015-1 a
Artigo data warehouse   bd ii - 2015-1 aArtigo data warehouse   bd ii - 2015-1 a
Artigo data warehouse bd ii - 2015-1 aDarlene Coelho
 
Ecosistema de data warehouse com ferramentas microsoft
Ecosistema de data warehouse com ferramentas microsoftEcosistema de data warehouse com ferramentas microsoft
Ecosistema de data warehouse com ferramentas microsoftDennes Torres
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010IT4biz IT Solutions
 

Semelhante a Aula 01-Tutorial ETL com PDI (20)

Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01
 
III SDTA - Pentaho PDI na Prática
III SDTA - Pentaho PDI na PráticaIII SDTA - Pentaho PDI na Prática
III SDTA - Pentaho PDI na Prática
 
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdfINE5643 - Aula 10a - Utilizando o Pentaho.pdf
INE5643 - Aula 10a - Utilizando o Pentaho.pdf
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDI
 
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
Uma Experiência de Solução de Business Intelligence com Software Livre na UFB...
 
Open Source BI
Open Source BIOpen Source BI
Open Source BI
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
 
Lync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e ImplementaçãoLync Server 2010 - Instalação e Implementação
Lync Server 2010 - Instalação e Implementação
 
F1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_lF1502 p iman3-pt_v3.8_l
F1502 p iman3-pt_v3.8_l
 
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
 
Pentaho inteligência de negócios utilizando software livre campus party 2011
Pentaho  inteligência de negócios utilizando software livre   campus party 2011Pentaho  inteligência de negócios utilizando software livre   campus party 2011
Pentaho inteligência de negócios utilizando software livre campus party 2011
 
Pentaho Open Source BI Suite - Technical Overview
Pentaho Open Source BI Suite - Technical OverviewPentaho Open Source BI Suite - Technical Overview
Pentaho Open Source BI Suite - Technical Overview
 
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...
Aplicação de Business Intelligence em Laboratórios Clínicos como ferramenta p...
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - Qlikview
 
Artigo data warehouse bd ii - 2015-1
Artigo data warehouse   bd ii - 2015-1Artigo data warehouse   bd ii - 2015-1
Artigo data warehouse bd ii - 2015-1
 
Artigo data warehouse bd ii - 2015-1 a
Artigo data warehouse   bd ii - 2015-1 aArtigo data warehouse   bd ii - 2015-1 a
Artigo data warehouse bd ii - 2015-1 a
 
Ecosistema de data warehouse com ferramentas microsoft
Ecosistema de data warehouse com ferramentas microsoftEcosistema de data warehouse com ferramentas microsoft
Ecosistema de data warehouse com ferramentas microsoft
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
Pentaho: Inteligência de Negócios utilizando Software Livre @ CONSEGI 2010
 

Aula 01-Tutorial ETL com PDI

  • 1. 1
  • 2. Jarley Nóbrega – jpn@cin.ufpe.br
  • 4. Agenda Instalando o PDI O PDI e o Pentaho BI Suite Trabalhando com arquivos
  • 5.
  • 6. PentahoBISuite  Coleção de Aplicações de Software  Criação e deployment de soluções para tomada de decisão  Open source  Enterprise /Community Editions  http://www.pentaho.com Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 8. PentahoBISuite Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 9. ArquiteturadoPentahoBI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Camadas da arquitetura do Pentaho BI Suite (Bouman and Dongen, 2009)
  • 10. PentahoBISuite  Pentaho BI Platform demo  Instalação pré-configurada da plataforma Pentaho  Demonstração do uso de relatórios, 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) Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 11. PentahoBISuite  Um pequeno roteiro para rodar o BI Server  Baixar e descompactar o arquivo  Certifique-se que existe uma JVM instalada  Verifique a variável de ambiente JAVA_HOME  Se estiver no Linux, dê acesso de gravação e leitura para a pasta do tomcat.  sudo chmod 755 ./tomcat/* Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 12. PentahoBISuite  Um pequeno roteiro para rodar o BI Server  Inicie o BI Server  Windows: <pasta>bi-server-cestart-pentaho.bat Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 13. PentahoBISuite  Um pequeno roteiro para rodar o BI Server  Inicie o BI Server  Linux: <pasta>/bi-server-ce/sh ./start-pentaho.sh Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 14. PentahoBISuite  Um pequeno roteiro para rodar o BI Server  Acesse a url http://localhost:8080/pentaho Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 15. PentahoBISuite  Um pequeno roteiro para rodar o BI Server  Entre com o usuário “joe” e navegue na aplicação Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 16.
  • 17. PentahoDataIntegration 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 Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 18. PentahoDataIntegration Timeline do PDI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 19. PentahoDataIntegration Principais funcionalidades do PDI Integração de Dados Processo de ETL Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 20.  Carregando dados em um DW ou datamart Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão PentahoDataIntegration Processo de ETL Extração Transformação Carregamento
  • 21. PentahoDataIntegration Extração de dados de diferentes fontes e formatos Validação e descarte de dados de acordo com regras e padrões Transformação dos dados de acordo com requisitos técnicos e de negócio Conversão dos tipos de dados, filtragem de dados, sumarização Carregamento dos dados transformados em uma base de dados Reescrita dos dados e adição de novas informações Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 22. PentahoDataIntegration Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Extração Transformação Carregamento
  • 23. PentahoDataIntegration  Atividades de Extração  Captura dos dados  Leitura a partir de diversas fontes  Identificação de mudanças desde a última extração.  Staging  Armazenamento temporário dos dados. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 24. PentahoDataIntegration Fontes de entrada de dados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão  Sistemas de gerenciamento de banco de dados
  • 25. PentahoDataIntegration Fontes de entrada de dados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão  Planilhas
  • 26. PentahoDataIntegration Fontes de entrada de dados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão  Arquivos texto ou XML
  • 27. PentahoDataIntegration  Atividades deTransformação  Validação dos dados  Verificação se os dados estão corretos e precisos.  Filtragem de dados inválidos.  Limpeza dos dados  Correção de dados inválidos.  Decodificação  Conversão de atributos (numéricos, categóricos) para adequação a um padrão ou regra.  Agregação  Geração e gerenciamento de chaves  Dimensões identificadas por chaves substitutas (“surrogates”). Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 28. PentahoDataIntegration  Atividades de Carregamento  Carregamento das tabelas de fatos  Adição de linhas à tabela de fatos.  Atualização de atributos de status.  Carregamento e manutenção das tabelas de dimensões  Adição e atualização de linhas das tabelas de dimensões. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 29. InstalandooPDI  Pré-requisito  JRE (ou JDK) 5.x ou superior.  Download  http://sourceforge.net/projects/pentaho/files/  Pasta “Data Integration”  Obter a última versão estável  4.0.1 – 95.2 MB  3.2.0 – 77.2 MB Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 30. InstalandooPDI  Após descompactar o arquivo  Executar spoon.bat ou Kettle.exe (ou spoon.sh no Linux) Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 31. InstalandooPDI  Clique no botão “No repository”  A interface gráfica do PDI (Spoon) será carregada, mostrando uma página de boas vindas. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 32. InstalandooPDI  Dicas de configuração da área de trabalho do Spoon (Menu Editar -> Opções)  Aba “General”  Show tips at startup?  Show welcome page at startup?  ...  Aba “Look-and-feel”  Preferred language  ...  As mudanças estarão visíveis após reiniciar o Spoon Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 33. PrincipaisComponentesdoPDI  O PDI trabalha com dois tipos básicos de componentes:  Transformações  Jobs  Características de transformações e jobs  Definem o fluxo do processo de ETL  Contém os metadados do processo de ETL  Descrição dos dados;  Fontes de entrada e saída;  Scheduling;  Scripting. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 34. PrincipaisComponentesdoPDI Como as transformações e jobs são executados?  Uma transformação ou job consiste de uma coleção de itens interconectados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 35. PrincipaisComponentesdoPDI Conexões entre os itens das transformações e jobs  Hop’s  Pipeline do fluxo de registros Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 36. PrincipaisComponentesdoPDI  Steps, hops e o fluxo de registros Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  • 37. PrincipaisComponetesdoPDI Jobs  Consiste de uma coleção de steps de transformação  Cada step denota uma operação do processo de ETL  A saída de um step produz um conjunto de registros  Fluxo dos steps da transformação ocorre de forma simultânea e assíncrona  Arquivo .ktr  Consiste de uma coleção de transformações ou de steps de jobs  Cada entrada do job denota uma tarefa do processo de ETL  A saída de cada entrada do job produz um status de execução  Fluxo dos steps do job ocorre de forma sequencial  Arquivo .kjb Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Transformações
  • 38. MetamodelodoscomponentesdoPDI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 39. PrincipaisComponentesdoPDI  Outros componentes do PDI:  Repositórios  Os metadados das transformações e jobs podem ser persistidos em um banco de dados (repositório)  Ferramentas:  Spoon: IDE para desenvolvimento visual.  Pan: execução de transformações em linha de comando.  Kitchen: execução de jobs em linha de comando.  Carte: servidor de para execução remota de transformações e jobs. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 40. ArquiteturadoPDI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão (Bouman and Dongen, 2009)
  • 41. Exercícios1e2  Criando as primeiras transformações no PDI  Transformação simples  Processo de ETL  Extração de dados de uma fonte (arquivo texto)  Transformação dos dados  Carregamento dos dados transformados (arquivo texto) Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 42. Exercício3  Criando uma conexão com um banco de dados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 43.
  • 44. ExtraindodadosnoPDI  Vários steps para extrair dados  Banco de dados;  Informações do sistema;  Arquivos texto;  ... Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 45. ExtraindodadosnoPDI  Principais propriedades dos steps de extração  Nome do step  Obrigatório e único para cada step  Nome e localização do arquivo  Descrição do conteúdo  Separador, codificação, cabeçalho, etc.  Depende do tipo do step  Campos  Filtros  Ex.: pular linhas em branco, ler as primeiras n linhas, etc. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 46. Extraindodadosdearquivos  Modo “primitivo” de armazenar dados  Comma-separated values (CSV);  Planilhas;  Arquivos flat;  XML. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 47. Extraindodadosdearquivos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Nome do Step Fonte dos dados CSV File Input Campos de um arquivo .CSV Excel Input Células de uma planilha .XLS Fixed file input Texto de tamanho fixo Text file input Idem ao CSV + tratamento de erros + filtros Get data from XML Nós e atributos de tags no formato XML
  • 48. Exercício4  Extraindo dados de um arquivo texto, realizando uma transformação e carregando o resultado em um arquivo texto. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 49. Lendováriosarquivos  Até agora extraímos dados de um único arquivo texto  Extração de dados de vários arquivos:  Lista de arquivos  Expressões regulares Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 50. Exercícios5e6  Adicionando uma lista de arquivos de entrada.  Usando expressões regulares Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 51. Expressõesregulares  Em vários steps do PDI podemos usar expressões regulares  Exemplos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Expressão regular Combina com... Exemplos .*.txt Qualquer arquivo .txt Arquivo.txt test(19|20)dd-(0[1- 9]|1[012]).txt Qualquer arquivo começando com test, seguido por uma data usando o formato yyyy- mm test2009-12.txt test2009-01.txt (?i)test.+.txt Qualquer arquivo .txt começando com test escrito em maiúsculo ou minúsculo TeSTcaseinsensitive.tXt
  • 52. Expressõesregulares  Para saber mais sobre expressões regulares  Regular ExpressionQuick Start: http://www.regular- expressions.info/quickstart.html  The Java Regular ExpressionTutorial: 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 Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 53. Enviandodadosparaarquivos  Vários steps para enviar dados para arquivos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Nome do Step Destino dos dados Excel output Células de uma planilha no formato .xls SQL file output Comandos SQL em arquivo texto Text file output Linhas em um arquivo texto (txt ou CSV) XML output Nós e atributos de tags no formato XML
  • 54. Enviandodadosparaarquivos  Principais propriedades  Nome do step  Obrigatório e único para cada step  Nome e localização do arquivo  Opção Append  Descrição do conteúdo  Separador, codificação, cabeçalho, etc.  Depende do tipo do step  Campos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 55. DefiniçõesdedadosdoPDI Dois conceitos importantes de dados para o PDI Rowset Streams Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 56. DefiniçõesdedadosdoPDI Rowset Streams  Dados representados de forma tabular (datasets)  Cada coluna representa um campo  Nome (obrigatório)  Tipo: Number (float), String, Date, Boolean, Integer e Big Number  Cada linha corresponde a um membro do dataset Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão  Dados enviados de um step para outro  Os hops apenas repassam o fluxo de dados  Cada step pode ter um rowset de entrada e outro de saída  Botão direito -> Mostra campos de entrada/saída
  • 57. DefiniçõesdedadosdoPDI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 58. Transformaçõesnodatasetdearquivos  A forma mais simples de fazer transformações no rowset de um arquivo  Step SelectValues  Operações básicas  Selecionar e Alterar Campos  RemoverCampos  Alterar metadados dos campos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 59. Exercício7  Alterando os campos do Exercício 6  Gerando a saída para uma planilha Excel Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 60. ExtraindoinformaçõesdoAmbiente  O que vimos até agora?  Extração dos dados de arquivos  Realizando transformações básicas  Carregando dados em arquivos  Como obter dados sem conhecer previamente o nome dos arquivos?  Lendo informações do ambiente  Step Get System Info Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 61. ExtraindoinformaçõesdoAmbiente  Variáveis do S.O.  Datas  Sistema de arquivos  Rede  Variáveis de ambiente do PDI Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 62. Exercício8  Extraindo informações do sistema Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 63. TiposdeDados  Todo campo de um dataset possui um tipo de dado  Tipos suportados pelo PDI  Number (float)  String  Date  Boolean  Integer  Big Number Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 64. TiposdeDados  Date (padrão API Java) Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 65. TiposdeDados  Date - Exemplos Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Formato padrão: yyyy/MM/dd
  • 66. TiposdeDados  Campos numéricos (padrão API Java)  O PDI tenta “interpretar” dados numéricos  Campos mais elaborados precisam de um formato  Formatos mais usados Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Símbolo Significado # Dígito zero não é mostrado (pode arredondar) 0 Se o dígito não estiver presente, o zero é mostrado no lugar . Separador decimal - Sinal de menos % Campo deve ser multiplicado por 100 e exibido como percentual
  • 67. TiposdeDados  Campos numéricos (padrão API Java)  Exemplos - campo com valor 99.55 Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Formato Resultado # 100 (arredondamento) 0 100 (arredondamento) #.# 99.6 #.## 99.55 #.000 99.550 000.000 099.550
  • 68. TiposdeDados  Campos numéricos (padrão API Java)  Algumas considerações:  Se não especificar o formato -> informar tamanho e precisão  Por padrão, o PDI tenta “interpretar” o número e repassa pelo hop sem aplicar nenhum formato. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 69. Exercício9  Aplicando formatos para datas e números do Exercício 8 Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 70. ArquivosXML  Arquivos (ou documentos) XML são utilizados para:  Armazenar dados  Troca de dados entre sistemas heterogêneos  Entrada de dados XML  Step Get data from XML  Saída de dados XML  Step XML output Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 71. ArquivosXML  Como o PDI trata arquivos XML? Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão <?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
  • 72. ArquivosXML  Como o PDI trata arquivos XML?  Step Get data from XML  Notação Xpath: Conjunto de regras para recuperar informação de um documentoXML  Documento XML tratado como uma árvore formada por nós.  Tipos de nós:  Elementos;  Atributos;  Texto Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 73. ArquivosXML  Como o PDI trata arquivos XML?  Relacionamento entre os nós  Um nó tem um pai  Um nó tem zero ou mais filhos, irmãos, ancestrais ou descendentes Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Arquivo de exemplo: country é o pai dos elementos name, capital e language.Os três elementos são filhos de country.
  • 74. ArquivosXML  Como o PDI trata arquivos XML?  Para acessar um nó  Usar uma expressão no formato XPath relativa ao nó corrente. Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 75. ArquivosXML  Exemplos XPath Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Expressão Descrição node_name Seleciona todos os nós filhos do nó node_name. . Seleciona o nó corrente .. Seleciona o pai do nó corrente @ Seleciona um atributo
  • 76. Exercício10  Extraindo uma lista com dados de países em XML  Salvando o resultado em uma planilha Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 77. ResumodaSemana1  Arquitetura do Pentaho BI server  Instalação do PDI  Arquitetura do PDI  Extração de dados em arquivos texto (plain e XML)  Carregamento de dados em arquivos texto e planilhas  Extração de informação a partir de informações do ambiente  Tipos de dados suportados pelo PDI  Operações básicas de transformações Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão
  • 78. Bibliografia Janeiro de 2010 IN1177 - Banco de Dados para Suporte à Decisão Site do PDI: http://kettle.pentaho.com/