Você está na página 1de 13

Ambiente 

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) 3308­3438
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 e­mails com e­mail 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) 3308­3438
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. 

1.1 HACK751 – Validando CPF com JavaScript.


1. Crie uma nova transformação File → Novo → Transformação.

2. Salve a transformação na pasta de hacks como o nome hack751­javascript.
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) 3308­3438
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.2 HACK752 – Trabalhando com arquivos XML.


Neste hack vamos utilizar dos steps de Get data from XML  e XML Output .

1. Crie uma nova transformação File → Novo → Transformação.

2. Salve a transformação no diretório de hacks como o nome hack752­xml.

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>

4. Adicione um step  Get data from XML  na transformação e informe na propriedade file or 


directory e de add.

Versão do Documento: 2.0                                                                                                                                           Página 4
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 3308­3438
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/hack752­saida   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) 3308­3438
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.3 HACK753 – Validando formato do XML com DTD.

1. Crie um novo job, File → Novo → job.

2. Adicione um step Start no Job

3. Adicione um step  Check if XML file is well formed  no Job, e na propriedade File/Folder 


source informe o nosso arquivo gerado no hack anterior /opt/pentaho/hacks/hack752­saida.xml 
e clique em add.

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.4 HACK754 – Extraindo dados do LDAP

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) 3308­3438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.
2. Salve a transformação na pasta de hacks como o nome hack754­ldap

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.

1.5 HACK755 – Lendo e-mails com e-mail message input.


1. Crie uma nova transformação File → Novo → Transformação.

2. Salve a transformação na pasta de hacks como o nome hack755­email­input

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) 3308­3438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.

4. Clique em Test connection para testar os dados.

5. Adicione um step Dummy.

1.6 HACK756 – Row denormaliser e Row Normaliser.

1. Crie uma nova transformação File → Novo → Transformação.

2. Salve a transformação na pasta de hacks como o nome hack756­row­denormaliser

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) 3308­3438
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) 3308­3438
Ambiente Livre Tecnologia
Pentaho Business Intelligence Community Edition Training.

1.7 HACK757 – Row flattener.

1.

2.

1.8 HACK758 – Split field to Rows.

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.9 HACK759 – Split Fields.

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) 3308­3438
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.10 HACK760 – Clone Row.

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.11 HACK761 – If field value is null.

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) 3308­3438
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.

2.2 Referências Bibliográficas


RSS ­ http://pt.wikipedia.org/wiki/RSS 

Versão do Documento: 2.0                                                                                                                                           Página 12
Ambiente Livre Tecnologia www.ambientelivre.com.br +55 (41) 3308­3438
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) 3308­3438

Você também pode gostar