Escolar Documentos
Profissional Documentos
Cultura Documentos
Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
Hacking Pentaho Data
Integration – Kettle
Avançado II
Versão do Documento: 2.0 Página 1
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
Indíce
1 Hacks......................................................................................................................................................3
1.1 HACK751 – Validando CPF com JavaScript................................................................................3
1.2 HACK752 – Trabalhando com arquivos XML..............................................................................4
1.3 HACK753 – Validando formato do XML com DTD....................................................................6
1.4 HACK754 – Extraindo dados do LDAP........................................................................................7
1.5 HACK755 – Lendo emails com email message input.................................................................8
1.6 HACK756 – Row denormaliser e Row Normaliser......................................................................9
1.7 HACK757 – Row flattener...........................................................................................................10
1.8 HACK758 – Split field to Rows...................................................................................................10
1.9 HACK759 – Split Fields..............................................................................................................11
1.10 HACK760 – Clone Row.............................................................................................................11
1.11 HACK761 – If field value is null...............................................................................................12
2 Sobre o Documento..............................................................................................................................13
2.1 Créditos .......................................................................................................................................13
2.2 Referências Bibliográficas...........................................................................................................13
2.3 Histórico do Documento..............................................................................................................13
Versão do Documento: 2.0 Página 2
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
1 Hacks
Cria uma pasta no diretório /opt/pentaho/hacks/ para armazenamento dos hacks que
realizaremos no PDI.
2. Salve a transformação na pasta de hacks como o nome hack751javascript.
3. Adicione um step Generate Rows e configure conforme abaixo e informe seu CPF.
4. Adicione um step Modifield Java Script value, e adicione o javascript para validar o
CPF que você pode fazer o download do ambiente de EAD, e adicione o mesmo na
propriedade script 1.
5. Depois de adicionar o script teste o mesmo com o botão Test Script e depois preview.
Versão do Documento: 2.0 Página 3
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
6. Para capturar as variáveis de saida do script para o stream do PDI clique em get variable
e deixe apenas a variável varstatus conforme imagem a seguir.
7. Adicione um step Dummy e teste a transformação.
1. Crie uma nova transformação File → Novo → Transformação.
2. Salve a transformação no diretório de hacks como o nome hack752xml.
3. Faca o download do arquivo treinamentos.xml do ambiente de EAD e salve no diretórios de
hacks. O arquivo tem a extrutura conforme abaixo:
<treinamentos>
<treinamento id_treinamento='...'>
<nome>...</nome>
<cidade>...</cidade>
<estado>...</estado>
</treinamentos>
Versão do Documento: 2.0 Página 4
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
5. Clique na aba content e na propriedade Loop Path informe o nó de dados , no nosso caso
treinamentos/treinamento .
6. Clique na aba fields e clique em get fields , sua tabela deve ficar identica a imagem abaixo;
7. Faça um preview para testar , devem ser carregados 2 registros.
8. Vamos adicionar mais um campo a nossa transformação com base nos dados lidos do XML,
adiciona um step value mapper e configure conforme a seguir.
9. Agora podemos gerar um novo XML com um novo campo, adicione um step XML output e
configure o filename como /opt/pentaho/hacks/hack752saida e na aba contente configure
conforme imagem.
Versão do Documento: 2.0 Página 5
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
10. Clique na Aba fields e clique em Get Fields para adicionar os campos ao arquivo XML.
11. Salve e execute a transformação.
1. Crie um novo job, File → Novo → job.
2. Adicione um step Start no Job
4. Execute o job e se o arquivo estiver bem formatado o job terminará com sucesso.
5. Agora vamos validar o XML com base em um arquivo DTD , faça o donwload do arquivo
treinamento.dtd e adicione um step DTD Validator.
6. Configure o mesmo informando o arquivo treinamentos.xml e treinamento.dtd.
7. Execute o job.
1. Crie uma nova transformação File → Novo → Transformação.
Versão do Documento: 2.0 Página 6
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
2. Salve a transformação na pasta de hacks como o nome hack754ldap
3. Adicione um step LDAP input , e configure os dados do seu servidor LDAP conforme modelo
na imagem a seguir.
4. Faça um preview para verificar se os dados estão sendo retornados com sucesso.
5. Adicione um step dummy para finalizar a transformação.
2. Salve a transformação na pasta de hacks como o nome hack755emailinput
3. Adicione um step Email messages input, e configure o mesmo com sua conta gmail conforme
abaixo:
Versão do Documento: 2.0 Página 7
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
4. Clique em Test connection para testar os dados.
5. Adicione um step Dummy.
1. Crie uma nova transformação File → Novo → Transformação.
2. Salve a transformação na pasta de hacks como o nome hack756rowdenormaliser
3. Insira um Step table input e insira o SQL abaixo:
select fato_pedidos.qtd_venda
,dim_tempo.trimestre
,dim_vendedor.vendedor
from fato_pedidos, dim_tempo, dim_vendedor
where fato_pedidos.fk_tempo = dim_tempo.fk_tempo
and fato_pedidos.fk_vendedor = dim_vendedor.fk_vendedor
Versão do Documento: 2.0 Página 8
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
4. Insira um step Sort Rows e ordene por vendedor e trimestre
5. Insira um step Row denormaliser, e configura os agrupamentos conforme abaixo:
6. Adicione mais um step Row nomalize , e configure conforme abaixo:
7. Salve e execute um preview para verificar o comportamento do step.
Versão do Documento: 2.0 Página 9
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
1.
2.
1. Edite a transformação Split field to rows basic example que esta no diretprio do
pdi/samples/transformation
2. Teste e entende o comportamento do Split.
1. Crie uma nova transformação File → Novo → Transformação.
2. Insira um step generate rows e configure conforme abaixo.
Versão do Documento: 2.0 Página 10
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
3. Insira também um step Split Fields, e configure conforme abaixo
4. Adicione um Dummy para terminar a transformação.
1. Adicione a transformação criada no hack anterior um step Clone Row, e configure para clonar
2 linhas.
2. Teste e execute a transformação.
1. Altere a transformação anterior inserindo um novo campo camponulo no step generate rows , e
defina como string e não informe nenhum valor ao mesmo.
2. Insira um step If field value is null e preenche o mesmo conforme a seguir:
Versão do Documento: 2.0 Página 11
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
3. Execute um preview para verificar o comportamento.
2 Sobre o Documento.
Parte deste documento e baseado em artigos técnicos, tutoriais, posts de blogs e outras
referências que encontramos livremente na Internet, os mesmo são compilados de uma forma mais
organizada e complementados com nossa contribuições. Todas as marcas citadas neste documentos são
de responsabilidade de seus devidos criadores. A Ambiente Livre é uma marca própria e não tem
nenhum vinculo com nenhuma das marcas citadas.
2.1 Créditos
Todos os direitos reservados – Ambiente Livre Tecnologia.
Versão do Documento: 2.0 Página 12
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
2.3 Histórico do Documento.
Versão 2.0 – Versão 4.3 do Pentaho Data Integration – Fevereiro de 2012 – Marcio Junior Vieira
<marcio em ambientelivre.com.br>
Versão do Documento: 2.0 Página 13
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 33083438