SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
1
Jarley Nóbrega – jpn@cin.ufpe.br
PentahoDataIntegration
Agenda
Manipulação de dados no PDI
Controlando o fluxo de dados
Transformações no rowset
Tratamento de erros e validação de dados
ManipulaçãobásicadedadosnoPDI
 Conjunto de steps para transformação
 Categoria Transform
 Criação de novos campos
 Uso de expressões
 Adição de constantes
 Cálculo de valores
 Conversão de formatos
 Correspondência de valores
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
StepsdeManipulaçãodedados
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Step Descrição
Calculator Cria novos campos através de
cálculos no stream.
Split fields Divide um campo em dois ou
mais através de um separador.
Add constants Adiciona uma ou mais
constantes ao stream.
Replace in string Substitui todas as ocorrências
em uma string por um texto.
Number range Cria um novo campo baseado
em uma faixa de valores
numéricos
Value Mapper Cria uma correspondência entre
valores de um campo
ManipulaçãobásicadedadosnoPDI
Dúvidas sobre o funcionamento
de um tipo específico de step?
http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+v3.2.+Steps
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Exercícios11,12e13
 Manipulando um conjunto de dados com
os steps de transformação
 Criando grupos de linhas a partir de uma
transformação
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ManipulaçãobásicadedadosnoPDI
 Filtrando informações
 Como descartar linhas de dados sob certas
condições?
 Step Filter rows (categoria Flow)
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ManipulaçãobásicadedadosnoPDI
 Step Filter rows (categoria Flow)
 Checa a condição para cada rowset
 Apenas as linhas cuja condição são true serão
enviadas no hop para o próximo step.
 Possibilidade de fazer if-then-else
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ManipulaçãobásicadedadosnoPDI
 Exemplo de condição
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Exercício14
 Filtrando linhas de um dataset
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Controlandoofluxodedados
Até agora...  Fluxo simples de dados
 Uma única direção
 Na maioria das vezes
 Divisão de stream
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Controlandoofluxodedados
Como o PDI trata o fluxo
de dados?
Cópia do Fluxo
• O dataset inteiro é
copiado para os steps
subsequentes
Distribuição do Fluxo
• O dataset é distribuído
em partes iguais e
enviado para os steps
subsequentes
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Controlandoofluxodedados
 Como copiar ou distribuir um dataset a
partir de uma condição?
 1ª opção: usar o Filter rows
 Problema: “if’s” aninhados
 2ª opção: usar o step Switch/Case
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Stepsdecontroledofluxodedados
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Se você precisa... Poderá usar...
Adicionar (append) um dataset em
outro, sem importar a ordem.
qualquer step.
Adicionar (append) um dataset,
usando uma ordem específica.
o step Append streams, da categoria
Flow.
Fazer um merge com dois ou mais
datasets, ordenados por um campo.
o step Sorted merge, da categoria Joins.
Fazer um merge com dois datasets,
eliminando linhas duplicadas
o step Merge rows (diff), da categoria
Joins.
Exercícios15,16e17
 Copiando e distribuindo um dataset
 Usando condições para copiar e distribuir
um dataset
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
TransformaçõesnoRowset
 Algumas transformações que podem ser
feitas em cima de todo um rowset:
 Converter linhas em colunas;
 Converter colunas em linhas;
 Operações em conjuntos de linhas;
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Convertendolinhasemcolunas
 Na maioria dos datasets cada linha pertence a
um elemento diferente
 Em alguns casos, uma única linha não
descreve completamente o elemento
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Convertendolinhasemcolunas
Solução do PDI: step Row
denormalizer
 Converte linhas em
colunas
 Exemplo:
 Dataset final deverá ter
uma única linha por
filme
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Convertendolinhasemcolunas
Solução do PDI: step Row
denormalizer
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Convertendolinhasemcolunas
Solução do PDI: step Row
denormalizer
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
 Regra geral para novos
campos:
 Se o valor para a chave
de um campo for igual a
“A”, coloque o valor do
campo “B” em um novo
campo “C”.
Convertendolinhasemcolunas
Outra aplicação do step
Row denormalizer
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
 Agregação de dados
 A partir de um dataset
de entrada, gerar na
saída um novo dataset
com dados consolidados
ou agregados.
 Semelhança com
ferramentas de cross tab
(ex.: Pivot no Excel)
Stepsdeconversãoemrowsets
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Step Descrição
Group By Cria agregações em grupos de linhas usando Sum,
Maximum, etc.
Univariate statistics Computa estatísticas básicas em grupos de linhas
Split fields Divide um campo em dois ou mais campos
Row normalizer Transforma colunas em linhas
Row flattener Faz um nivelamento nas linhas consecutivas
Sort rows Ordena linhas através de uma chave
Split fields to rows Divide um campo de string e cria uma nova linha para
cada termo da divisão
Unique rows Remove linhas duplicadas no dataset (precisa de
ordenação prévia)
Exercício18
 Fazendo conversões no rowset
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
TratamentodeErros
 Até agora...
 Erros encontrados nas transformações
 Janela de Logging
 Tratamento de erros no PDI
 Opção Define Error handling (disponíveis em alguns
steps)
 Opção Error handling (disponível na edição dos
steps)
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
TratamentodeErros
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
TratamentodeErros-Configurações
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Campo do Step Descrição
Nr of errors fieldname Nome do campo que irá armazenar
o número de erros
Error fields fieldname Nome do campo que registrará os
campos onde ocorreram os erros
Error codes fieldname Nome do campo que contém o
código do erro
Error descriptions fieldname Nome do campo que contém a
descrição do erro
TratamentodeErros
Como tratar?  Detectando o erro e
enviando as linhas com
problemas para outro
stream.
 Quando a quantidade de
erros é grande? Quando os
erros são críticos?
 Opção: usar o step Abort, da
categoria Flow
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
TratamentodeErros
Como personalizar um
arquivo de log no PDI?
 Step Write to log, categoria
Utility
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Validaçãodedados
Boas práticas no
desenvolvimento
das atividades de
ETL
Validar os dados
antes de iniciar o
processamento
Prevenir a
transformação de
abortar o
processamento
Checar se os
dados seguem os
requisitos e regras
de negócio
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Validaçãodedados
Categoria de steps
Validation
 Step DataValidator
 Validação de tipos de
dados
 Validação do conteúdo
dos dados
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Validaçãodedados–stepDataValidator
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Validação desejada Bloco de opções Data
Permitir (apenas) valores nulos Null allowed? / Only null values
allowed?
Tamanho de um campo está dentro de
uma faixa de valores
Max string length / Min string length
Valor de um campo está dentro de uma
faixa de valores
Maximum value / Minimum value
Campo selecionado atende a um padrão Only numeric data expected, Expected
start string, Expected end string,
Regular expression expected to match
Campo selecionado não atende a um
padrão
Not allowed start string, Not allowed
end string, Regular expression not
allowed to match
Campo selecionado é um dos valores
permitidos em uma lista
Allowed values, Read allowed values
from another step?
Exercício19
 Validando o conteúdo dos dados
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
ResumodaSemana2
 Steps de transformação
 Filtragem de dados
 Cópia e distribuição do stream
 Transformações no rowset
 Tratamento de erros
 Validação do tipo e conteúdo dos dados
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Bibliografia
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
Site do PDI: http://kettle.pentaho.com/
Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão

Mais conteúdo relacionado

Mais procurados

fisiologia-cardiovascular.pptx
fisiologia-cardiovascular.pptxfisiologia-cardiovascular.pptx
fisiologia-cardiovascular.pptxluisbruno32
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysqlArley Rodrigues
 
Semiologia sistema endocrino final
Semiologia sistema endocrino finalSemiologia sistema endocrino final
Semiologia sistema endocrino finalDr madhumati Varma
 
Treinamento pricing
Treinamento pricingTreinamento pricing
Treinamento pricinglgiordani
 
Apostila Pesquisa operacional
Apostila Pesquisa operacionalApostila Pesquisa operacional
Apostila Pesquisa operacionalPamella Campos
 
Endocrino Sistema
Endocrino SistemaEndocrino Sistema
Endocrino SistemaAdele Janie
 
Sistema Endocrino
Sistema EndocrinoSistema Endocrino
Sistema EndocrinoDigux
 
Sistema digestório endocrino e renal
Sistema digestório endocrino e renalSistema digestório endocrino e renal
Sistema digestório endocrino e renalENFERMAGEMUNIS
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente EncadeadasLeinylson Fontinele
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 

Mais procurados (20)

fisiologia-cardiovascular.pptx
fisiologia-cardiovascular.pptxfisiologia-cardiovascular.pptx
fisiologia-cardiovascular.pptx
 
Sistema endócrino
Sistema endócrinoSistema endócrino
Sistema endócrino
 
Sql - Introdução ao mysql
Sql - Introdução ao mysqlSql - Introdução ao mysql
Sql - Introdução ao mysql
 
Semiologia sistema endocrino final
Semiologia sistema endocrino finalSemiologia sistema endocrino final
Semiologia sistema endocrino final
 
Treinamento pricing
Treinamento pricingTreinamento pricing
Treinamento pricing
 
Sistema Endócrino
Sistema EndócrinoSistema Endócrino
Sistema Endócrino
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Pilhas e Filas
Pilhas e FilasPilhas e Filas
Pilhas e Filas
 
Artrologia
ArtrologiaArtrologia
Artrologia
 
Apostila Pesquisa operacional
Apostila Pesquisa operacionalApostila Pesquisa operacional
Apostila Pesquisa operacional
 
Endocrino Sistema
Endocrino SistemaEndocrino Sistema
Endocrino Sistema
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
 
Sistema Endocrino
Sistema EndocrinoSistema Endocrino
Sistema Endocrino
 
Sistema digestório endocrino e renal
Sistema digestório endocrino e renalSistema digestório endocrino e renal
Sistema digestório endocrino e renal
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados  - Aula 12 - Listas Duplamente EncadeadasEstrutura de Dados  - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Algoritmos de busca
Algoritmos de buscaAlgoritmos de busca
Algoritmos de busca
 

Destaque

Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SagePentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SageVinicius Elyseu
 
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Ambiente Livre
 
Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho valex_haro
 
14.03.23 livro sobre pentaho
14.03.23   livro sobre pentaho14.03.23   livro sobre pentaho
14.03.23 livro sobre pentahoTalita Lima
 
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Caio Moreno
 
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
 
Pentaho data integration
Pentaho data integrationPentaho data integration
Pentaho data integrationPedro Neto
 
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
 
Aula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - AngolaAula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - Angolaalexculpado
 
SpagoBI - Plataforma BI livre e aberta
SpagoBI - Plataforma BI livre e abertaSpagoBI - Plataforma BI livre e aberta
SpagoBI - Plataforma BI livre e abertaFabrício Basto
 
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyApresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyVinicius Elyseu
 
Encontro da Comunidade Pentaho. Aprenda mais sobre a mais poderosa e conheci...
Encontro da Comunidade Pentaho.  Aprenda mais sobre a mais poderosa e conheci...Encontro da Comunidade Pentaho.  Aprenda mais sobre a mais poderosa e conheci...
Encontro da Comunidade Pentaho. Aprenda mais sobre a mais poderosa e conheci...Caio Moreno
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLT.I.C
 
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...Caio Moreno
 
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Vinicius Elyseu
 
Palestra sobre BI Open Source @ USP (Out/2011)
Palestra sobre BI Open Source @ USP (Out/2011)Palestra sobre BI Open Source @ USP (Out/2011)
Palestra sobre BI Open Source @ USP (Out/2011)Caio Moreno
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesAmbiente Livre
 

Destaque (20)

Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na SagePentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
Pentaho Day 2015 - Universidade Positivo - Multi Tenancy com Pentaho na Sage
 
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
Pentaho Data Integration (Kettle) Integração e Migração de Dados com ETL Open...
 
Pentaho PDI
Pentaho PDIPentaho PDI
Pentaho PDI
 
Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho
 
14.03.23 livro sobre pentaho
14.03.23   livro sobre pentaho14.03.23   livro sobre pentaho
14.03.23 livro sobre pentaho
 
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
Curso Gratuito Online Desmistificando BI (Business Intelligence) Open Source ...
 
Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01Aula 01-tutorial-pdi-101118063416-phpapp01
Aula 01-tutorial-pdi-101118063416-phpapp01
 
Pentaho data integration
Pentaho data integrationPentaho data integration
Pentaho data integration
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDI
 
Aula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - AngolaAula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - Angola
 
SpagoBI - Plataforma BI livre e aberta
SpagoBI - Plataforma BI livre e abertaSpagoBI - Plataforma BI livre e aberta
SpagoBI - Plataforma BI livre e aberta
 
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi TenancyApresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
Apresentação FTSL 2014 UTFPR Curitiba - Pentaho Multi Tenancy
 
Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6Instalar PENTAHO 5 en CentOS 6
Instalar PENTAHO 5 en CentOS 6
 
Encontro da Comunidade Pentaho. Aprenda mais sobre a mais poderosa e conheci...
Encontro da Comunidade Pentaho.  Aprenda mais sobre a mais poderosa e conheci...Encontro da Comunidade Pentaho.  Aprenda mais sobre a mais poderosa e conheci...
Encontro da Comunidade Pentaho. Aprenda mais sobre a mais poderosa e conheci...
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
#PCM15: - How to monitor the use and performance of BI Server using the Plug-...
 
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3 Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
Pentaho Day 2015 - Universidade Positivo - Preparação de ambiente pentaho 5.3
 
Palestra sobre BI Open Source @ USP (Out/2011)
Palestra sobre BI Open Source @ USP (Out/2011)Palestra sobre BI Open Source @ USP (Out/2011)
Palestra sobre BI Open Source @ USP (Out/2011)
 
Pentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data LakesPentaho Hadoop Big Data e Data Lakes
Pentaho Hadoop Big Data e Data Lakes
 
PdI
PdIPdI
PdI
 

Semelhante a Aula 02-Tutorial ETL com PDI

Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewRoberto Oliveira
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatoriosarthurjosemberg
 
Tomada decisão
Tomada decisãoTomada decisão
Tomada decisãoEcoplas
 
Síntese de discussões do fórum livro-pf: dezembro/2010
Síntese de discussões do fórum livro-pf: dezembro/2010Síntese de discussões do fórum livro-pf: dezembro/2010
Síntese de discussões do fórum livro-pf: dezembro/2010Fatto Consultoria e Sistemas
 
Business Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverBusiness Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverMilson
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxAnaAlmeida462833
 
Introdução ao BI
Introdução ao BIIntrodução ao BI
Introdução ao BIpichiliani
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olapBrian Supra
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionaiselliando dias
 
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...Leonardo Moraes
 
Business intelligence x Datamining
Business intelligence x DataminingBusiness intelligence x Datamining
Business intelligence x DataminingLeonardo Holanda
 
Por que o Microsoft Power BI? Um breve overview sobre BI
Por que o Microsoft Power BI? Um breve overview sobre BIPor que o Microsoft Power BI? Um breve overview sobre BI
Por que o Microsoft Power BI? Um breve overview sobre BILeonardo Karpinski
 
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Denodo
 
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
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosEduardo de Lucena Falcão
 
Trabalho de investigação apresentacao 20217_20220_20214_361
Trabalho de investigação apresentacao 20217_20220_20214_361Trabalho de investigação apresentacao 20217_20220_20214_361
Trabalho de investigação apresentacao 20217_20220_20214_361istecMulti
 
UCP - Projeto de Banco de Dados - Data Warehouse
UCP - Projeto de Banco de Dados - Data WarehouseUCP - Projeto de Banco de Dados - Data Warehouse
UCP - Projeto de Banco de Dados - Data WarehouseVinícius Amaral
 

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

Apostila Intensivo Python - Desafio 2.pdf
Apostila Intensivo Python - Desafio 2.pdfApostila Intensivo Python - Desafio 2.pdf
Apostila Intensivo Python - Desafio 2.pdf
 
Conceitos gerais de etl - Qlikview
Conceitos gerais de etl - QlikviewConceitos gerais de etl - Qlikview
Conceitos gerais de etl - Qlikview
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
por_detras_dos_relatorios
por_detras_dos_relatoriospor_detras_dos_relatorios
por_detras_dos_relatorios
 
Tomada decisão
Tomada decisãoTomada decisão
Tomada decisão
 
Síntese de discussões do fórum livro-pf: dezembro/2010
Síntese de discussões do fórum livro-pf: dezembro/2010Síntese de discussões do fórum livro-pf: dezembro/2010
Síntese de discussões do fórum livro-pf: dezembro/2010
 
Business Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql serverBusiness Intelligence com o microsoft sql server
Business Intelligence com o microsoft sql server
 
Tpc h benchmarking no mysql
Tpc h benchmarking no mysqlTpc h benchmarking no mysql
Tpc h benchmarking no mysql
 
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docxmodulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx
 
Introdução ao BI
Introdução ao BIIntrodução ao BI
Introdução ao BI
 
Data warehouse & olap
Data warehouse & olapData warehouse & olap
Data warehouse & olap
 
Bancos de Dados Pós-Relacionais
Bancos de Dados Pós-RelacionaisBancos de Dados Pós-Relacionais
Bancos de Dados Pós-Relacionais
 
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...
Como detectar anomalias em dados de streaming? Simplificado (TDC Connections ...
 
Business intelligence x Datamining
Business intelligence x DataminingBusiness intelligence x Datamining
Business intelligence x Datamining
 
Por que o Microsoft Power BI? Um breve overview sobre BI
Por que o Microsoft Power BI? Um breve overview sobre BIPor que o Microsoft Power BI? Um breve overview sobre BI
Por que o Microsoft Power BI? Um breve overview sobre BI
 
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
 
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
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
 
Trabalho de investigação apresentacao 20217_20220_20214_361
Trabalho de investigação apresentacao 20217_20220_20214_361Trabalho de investigação apresentacao 20217_20220_20214_361
Trabalho de investigação apresentacao 20217_20220_20214_361
 
UCP - Projeto de Banco de Dados - Data Warehouse
UCP - Projeto de Banco de Dados - Data WarehouseUCP - Projeto de Banco de Dados - Data Warehouse
UCP - Projeto de Banco de Dados - Data Warehouse
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfNatalia Granato
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 

Último (6)

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

Aula 02-Tutorial ETL com PDI

  • 1. 1
  • 2. Jarley Nóbrega – jpn@cin.ufpe.br
  • 4. Agenda Manipulação de dados no PDI Controlando o fluxo de dados Transformações no rowset Tratamento de erros e validação de dados
  • 5.
  • 6. ManipulaçãobásicadedadosnoPDI  Conjunto de steps para transformação  Categoria Transform  Criação de novos campos  Uso de expressões  Adição de constantes  Cálculo de valores  Conversão de formatos  Correspondência de valores Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 7. StepsdeManipulaçãodedados Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Step Descrição Calculator Cria novos campos através de cálculos no stream. Split fields Divide um campo em dois ou mais através de um separador. Add constants Adiciona uma ou mais constantes ao stream. Replace in string Substitui todas as ocorrências em uma string por um texto. Number range Cria um novo campo baseado em uma faixa de valores numéricos Value Mapper Cria uma correspondência entre valores de um campo
  • 8. ManipulaçãobásicadedadosnoPDI Dúvidas sobre o funcionamento de um tipo específico de step? http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+v3.2.+Steps Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 9. Exercícios11,12e13  Manipulando um conjunto de dados com os steps de transformação  Criando grupos de linhas a partir de uma transformação Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 10. ManipulaçãobásicadedadosnoPDI  Filtrando informações  Como descartar linhas de dados sob certas condições?  Step Filter rows (categoria Flow) Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 11. ManipulaçãobásicadedadosnoPDI  Step Filter rows (categoria Flow)  Checa a condição para cada rowset  Apenas as linhas cuja condição são true serão enviadas no hop para o próximo step.  Possibilidade de fazer if-then-else Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 12. ManipulaçãobásicadedadosnoPDI  Exemplo de condição Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 13. Exercício14  Filtrando linhas de um dataset Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 14.
  • 15. Controlandoofluxodedados Até agora...  Fluxo simples de dados  Uma única direção  Na maioria das vezes  Divisão de stream Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 16. Controlandoofluxodedados Como o PDI trata o fluxo de dados? Cópia do Fluxo • O dataset inteiro é copiado para os steps subsequentes Distribuição do Fluxo • O dataset é distribuído em partes iguais e enviado para os steps subsequentes Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 17. Controlandoofluxodedados  Como copiar ou distribuir um dataset a partir de uma condição?  1ª opção: usar o Filter rows  Problema: “if’s” aninhados  2ª opção: usar o step Switch/Case Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 18. Stepsdecontroledofluxodedados Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Se você precisa... Poderá usar... Adicionar (append) um dataset em outro, sem importar a ordem. qualquer step. Adicionar (append) um dataset, usando uma ordem específica. o step Append streams, da categoria Flow. Fazer um merge com dois ou mais datasets, ordenados por um campo. o step Sorted merge, da categoria Joins. Fazer um merge com dois datasets, eliminando linhas duplicadas o step Merge rows (diff), da categoria Joins.
  • 19. Exercícios15,16e17  Copiando e distribuindo um dataset  Usando condições para copiar e distribuir um dataset Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 20.
  • 21. TransformaçõesnoRowset  Algumas transformações que podem ser feitas em cima de todo um rowset:  Converter linhas em colunas;  Converter colunas em linhas;  Operações em conjuntos de linhas; Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 22. Convertendolinhasemcolunas  Na maioria dos datasets cada linha pertence a um elemento diferente  Em alguns casos, uma única linha não descreve completamente o elemento Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 23. Convertendolinhasemcolunas Solução do PDI: step Row denormalizer  Converte linhas em colunas  Exemplo:  Dataset final deverá ter uma única linha por filme Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 24. Convertendolinhasemcolunas Solução do PDI: step Row denormalizer Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 25. Convertendolinhasemcolunas Solução do PDI: step Row denormalizer Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão  Regra geral para novos campos:  Se o valor para a chave de um campo for igual a “A”, coloque o valor do campo “B” em um novo campo “C”.
  • 26. Convertendolinhasemcolunas Outra aplicação do step Row denormalizer Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão  Agregação de dados  A partir de um dataset de entrada, gerar na saída um novo dataset com dados consolidados ou agregados.  Semelhança com ferramentas de cross tab (ex.: Pivot no Excel)
  • 27. Stepsdeconversãoemrowsets Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Step Descrição Group By Cria agregações em grupos de linhas usando Sum, Maximum, etc. Univariate statistics Computa estatísticas básicas em grupos de linhas Split fields Divide um campo em dois ou mais campos Row normalizer Transforma colunas em linhas Row flattener Faz um nivelamento nas linhas consecutivas Sort rows Ordena linhas através de uma chave Split fields to rows Divide um campo de string e cria uma nova linha para cada termo da divisão Unique rows Remove linhas duplicadas no dataset (precisa de ordenação prévia)
  • 28. Exercício18  Fazendo conversões no rowset Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 29.
  • 30. TratamentodeErros  Até agora...  Erros encontrados nas transformações  Janela de Logging  Tratamento de erros no PDI  Opção Define Error handling (disponíveis em alguns steps)  Opção Error handling (disponível na edição dos steps) Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 31. TratamentodeErros Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 32. TratamentodeErros-Configurações Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Campo do Step Descrição Nr of errors fieldname Nome do campo que irá armazenar o número de erros Error fields fieldname Nome do campo que registrará os campos onde ocorreram os erros Error codes fieldname Nome do campo que contém o código do erro Error descriptions fieldname Nome do campo que contém a descrição do erro
  • 33. TratamentodeErros Como tratar?  Detectando o erro e enviando as linhas com problemas para outro stream.  Quando a quantidade de erros é grande? Quando os erros são críticos?  Opção: usar o step Abort, da categoria Flow Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 34. TratamentodeErros Como personalizar um arquivo de log no PDI?  Step Write to log, categoria Utility Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 35. Validaçãodedados Boas práticas no desenvolvimento das atividades de ETL Validar os dados antes de iniciar o processamento Prevenir a transformação de abortar o processamento Checar se os dados seguem os requisitos e regras de negócio Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 36. Validaçãodedados Categoria de steps Validation  Step DataValidator  Validação de tipos de dados  Validação do conteúdo dos dados Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 37. Validaçãodedados–stepDataValidator Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Validação desejada Bloco de opções Data Permitir (apenas) valores nulos Null allowed? / Only null values allowed? Tamanho de um campo está dentro de uma faixa de valores Max string length / Min string length Valor de um campo está dentro de uma faixa de valores Maximum value / Minimum value Campo selecionado atende a um padrão Only numeric data expected, Expected start string, Expected end string, Regular expression expected to match Campo selecionado não atende a um padrão Not allowed start string, Not allowed end string, Regular expression not allowed to match Campo selecionado é um dos valores permitidos em uma lista Allowed values, Read allowed values from another step?
  • 38. Exercício19  Validando o conteúdo dos dados Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 39. ResumodaSemana2  Steps de transformação  Filtragem de dados  Cópia e distribuição do stream  Transformações no rowset  Tratamento de erros  Validação do tipo e conteúdo dos dados Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão
  • 40. Bibliografia Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão Site do PDI: http://kettle.pentaho.com/
  • 41. Janeiro de 2010IN1177 - Banco de Dados para Suporte à Decisão