Elaborado por Cláudio Wagner

Exemplo com Kettle - 01

O exercício tem como objetivo de criar uma transformação, que ler um arquivo TXT, cria o campo CODIGO, que seja incrementando sequencialmente e gera dois arquivos TXT classificados pelo tipo de cadastro, com os seguintes passos:

  • Criar um arquivo TXT
  • Ler o arquivo TXT
  • Criar o campo CODIGO
  • Incrementar sequencialmente o campo CODIGO
  • Gerar dois arquivos TXT, sendo um classificado por Médico e outro por Advogado

Então, vamos lá:

Editor de texto - utilizar bloco de notas do Windows

1. Abra o bloco de notas do Windows
2. Digite o seguinte conteúdo:

Nome;Sexo;Municipio;UF;Atividade
Carlos Oliveira;M;Blumenau;SC;Advogado
João Passos;M;Lages;SC;Médico
Marcelo Santos;M;São José;SC;Advogado
Pedro Aguiar;M;Palhoça;SC;Advogado
Alexanadre Farias;M;Indaial;SC;Médico
Mauro Alves;M;Rio do Sul;SC;Advogado
Alcides Morais;M;Chapecó;SC;Advogado
Lauro Costa;M;Navegantes;SC;Médico
Beatriz Nunes;F;Blumenau;SC;Médico
Joaquim Bastos;M;Blumenau;SC;Advogado
Maria Helena Liz;F;Chapecó;SC;Médico
Neuza Macedo;F;Chapecó;SC;Advogado
Tadeu Ramos;M;Brusque;SC;Médico
Sandra Mara Pires;F;Brusque;SC;Advogado
Vania Antunes;F;Criciuma;SC;Médico
Margarete Lapa;F;Mafra;SC;Advogado
Márcia Rocha;F;Blumenau;SC;Advogado
Euclides Kraiser;M;Mafra;SC;Advogado
Antonio Carlos Bacari;M;Blumenau;SC;Advogado
Gilberto Lopes;M;Brusque;SC;Médico

Obs: o delimitador dos campos é ";" (ponto e virgula)

3. Salve o arquivo com o nome: CADASTRO_GERAL.TXT na pasta c:\Curso_ETL

Obs: Criar a pasta Curso_ETL caso não esteja criada.

4. Acesse o KETTLE
5. Crie uma nova transformação e de o nome: Gerar_Cadastro_Classificado
6. Salve a transformação na pasta c:\Curso_ETL

Obs: C:\Curso_ETL\Gerar_Cadastro_Classificado.ktr

7. Arraste os steps abaixo para a área de trabalho, dê nomes a eles, e crie os Hops para conectá-los de acordo com a imagem: 




  • CSV file input (entrada)
  • Add sequence (cria atributo incremental)
  • Select values (faz juncao dos atributos)
  • Filter rows (condicao)
  • Text file output (saída)
6. Clique duas vezes no step CSV File Input
7. No campo Filename, selecione o arquivo Cadastro_Geral.txt
8. No campo Delimiter, substituir (vírgula) por ; (ponto e vírgula)
9. Clique no botão Obtém Campos
10. Clique no botão Ok 
11. Clique no botão Fecha
12. Clique no botão Preview
13. Clique no botão Ok 


Obs: como padrão vem 1000 registros (é o número de linhas que será exibido do conteúdo do arquivo Cadastro_Geral.txt). Verifique se os conteúdos das colunas estão Ok! Caso não esteja, valide todos os passos anteriores.

14.  Clique no botão Fecha 
15.  Clique duas vezes no step Add Sequence
16.  No campo Nome do Valor, digite: Codigo
17.  Clique no botão Ok
18.  Clique duas vezes no step Select Values
19.  Na aba Select & Alter, clique no botão Get Fields To Select
20.  Clique no botão Ok

Obs: verifique que foram exibidas todas as colunas do arquivo TXT e a nova coluna

21.  Clique duas vezes no step Filter Rows
22.  Selecione na opção The Condition, o atributo: Atividade
23.  Utilize o sinal de “=
24.  Digite a condição campo Enter Value: Médico
25.  Clique no botão Ok 


Obs: na opção Send ‘true’ data to step = Text file output. Na opção Send ‘false’ data to step = Text file output 2

26.  Clique duas vezes no step Text File Output
27.  Na aba File, digite no campo Filename: C:\Curso_ETL\Cad_Medico.txt
28.  Na aba Fields, clique no botão Obtém Campos
29.  Clique no botão Ok 
30.  Clique duas vezes no step Text File Output 2
31.  Na aba File, digite no campo Filename: C:\Curso_ETL\Cad_Advogado.txt
32.  Na aba Fields, clique no botão Obtém Campos
33.  Clique no botão Ok 
34.  Para testar a transformação, clique no botão Executar Uma Transformação 
35.  Clique no botão Launch

Obs: acompanhe a execução no Step Metrics


Exemplo com Kettle - 02

O exercício tem como objetivo de criar uma transformação, que ler um arquivo TXT, cria o campo CODIGO, que seja incrementando sequencialmente e gera dois arquivos TXT classificados pelo tipo de cadastro, com os seguintes passos:

  • Criar um arquivo TXT
  • Ler o arquivo TXT
  • Criar o campo CODIGO
  • Incrementar sequencialmente o campo CODIGO
  • Gerar dois arquivos TXT, sendo um classificado por Médico e outro por Advogado
Então, vamos lá:

Editor de texto - utilizar bloco de notas do Windows

1. Abra o bloco de notas do Windows
2. Digite o seguinte conteúdo:

Nome;Sexo;Municipio;UF;Atividade
Carlos Oliveira;M;Blumenau;SC;Advogado
João Passos;M;Lages;SC;Médico
Marcelo Santos;M;São José;SC;Advogado
Pedro Aguiar;M;Palhoça;SC;Advogado
Alexanadre Farias;M;Indaial;SC;Médico
Mauro Alves;M;Rio do Sul;SC;Advogado
Alcides Morais;M;Chapecó;SC;Advogado
Lauro Costa;M;Navegantes;SC;Médico
Beatriz Nunes;F;Blumenau;SC;Médico
Joaquim Bastos;M;Blumenau;SC;Advogado
Maria Helena Liz;F;Chapecó;SC;Médico
Neuza Macedo;F;Chapecó;SC;Advogado
Tadeu Ramos;M;Brusque;SC;Médico
Sandra Mara Pires;F;Brusque;SC;Advogado
Vania Antunes;F;Criciuma;SC;Médico
Margarete Lapa;F;Mafra;SC;Advogado
Márcia Rocha;F;Blumenau;SC;Advogado
Euclides Kraiser;M;Mafra;SC;Advogado
Antonio Carlos Bacari;M;Blumenau;SC;Advogado
Gilberto Lopes;M;Brusque;SC;Médico

Obs: o delimitador dos campos é ";" (ponto e virgula)

3. Salve o arquivo com o nome: CADASTRO_GERAL.TXT na pasta c:\Curso_ETL

Obs: Criar a pasta Curso_ETL caso não esteja criada.

4. Acesse o KETTLE
5. Crie uma nova transformação e de o nome: Gerar_Cadastro_Classificado
6. Salve a transformação na pasta c:\Curso_ETL

Obs: C:\Curso_ETL\Gerar_Cadastro_Classificado.ktr

7. Arraste os steps abaixo para a área de trabalho, dê nomes a eles, e crie os Hops para conectá-los de acordo com a imagem: 




  • CSV file input (entrada)
  • Add sequence (cria atributo incremental)
  • Select values (faz juncao dos atributos)
  • Filter rows (condicao)
  • Text file output (saída)
8. Clique duas vezes no step CSV File Input
9. No campo Filename, selecione o arquivo Cadastro_Geral.txt
10. No campo Delimiter, substituir (vírgula) por ; (ponto e vírgula)
11. Clique no botão Obtém Campos
12. Clique no botão Ok 
13. Clique no botão Fecha
14. Clique no botão Preview
15. Clique no botão Ok 

Obs: como padrão vem 1000 registros (é o número de linhas que será exibido do conteúdo do arquivo Cadastro_Geral.txt). Verifique se os conteúdos das colunas estão Ok! Caso não esteja, valide todos os passos anteriores.

16.  Clique no botão Fecha 
17.  Clique duas vezes no step Add Sequence
18.  No campo Nome do Valor, digite: Codigo
19.  Clique no botão Ok
20.  Clique duas vezes no step Select Values
21.  Na aba Select & Alter, clique no botão Get Fields To Select
22.  Clique no botão Ok

Obs: verifique que foram exibidas todas as colunas do arquivo TXT e a nova coluna

23.  Clique duas vezes no step Filter Rows
24.  Selecione na opção The Condition, o atributo: Atividade
25.  Utilize o sinal de “=
26.  Digite a condição campo Enter Value: Médico
27.  Clique no botão Ok 

Obs: na opção Send ‘true’ data to step = Text file output. Na opção Send ‘false’ data to step = Text file output 2

28.  Clique duas vezes no step Text File Output
29.  Na aba File, digite no campo Filename: C:\Curso_ETL\Cad_Medico.txt
30.  Na aba Fields, clique no botão Obtém Campos
31.  Clique no botão Ok 
32.  Clique duas vezes no step Text File Output 2
33.  Na aba File, digite no campo Filename: C:\Curso_ETL\Cad_Advogado.txt
34.  Na aba Fields, clique no botão Obtém Campos
35.  Clique no botão Ok 
36.  Para testar a transformação, clique no botão Executar Uma Transformação 
37.  Clique no botão Launch

Obs: acompanhe a execução no Step Metrics


DE PARA de dados

O objetivo deste exemplo é mostrar o DE PARA de informações, com os seguintes passos:



  • Criar uma base de dados (Data Grid)
  • Efetuar o DE PARA do conteudo da base de dados (Value Mapper)
  • Salvar em um arquivo .TXT (Text File Output)
Então, vamos lá:

1. Acesse o KETTLE
2. Crie o step Data Grid, com o seguinte conteúdo:





3. Crie o step Value Mapper, para efetuar o DE PARA do campo1, conforme imagem:



    Obs: DE = Leite  ==> PARA = Leite em pó

4. Crie o step Value Mapper 2, para efetuar o DE PARA do campo2, conforme imagem:




    Obs: DE = vazio  ==> PARA = 0 (zero)
5. Crie o step Text file Output, para gerar o arquivo TXT, conforme imagem:




6. Verifique o conteúdo do arquivo: ArquivoTXT.txt
     Campo1;Campo2

     Água; 0,0
     Café; 12,0
     Milho; 134,0
     Leite em pó; 0,0
     Pão; 23,0
     Manteiga; 0,0
     Feijão; 123,0

Adicionar campo autoincremental

No exemplo, obtém informações, adiciona campo autoincremental e gera um arquivo de saída:




  • Obtém informações (Data Grid)
  • Adiciona a coluna PKID - autoincrental (Add Sequence)
  • Gera um arquivo de saída no formato TXT (Text File Output)
Então, vamos lá:

1. Acessar KETTLE
2. Criar o step Data Grid, com o seguinte conteúdo:



3. Criar o step Add Sequence, com o seguinte conteúdo:






4. Criar o step Text File Output, com o seguinte conteúdo:



5. Resultado do arquivo: ArquivoTXT.txt:
PKID;NM_NOME;QT_ENTRADA;QT_SAIDA
 1;Água; 100; 58
 2;Café; 12; 4
 3;Milho; 134; 89
 4;Leite; 36; 21
 5;Pão; 23; 13
 6;Manteiga; 32; 17
 7;Feijão; 123; 79

Calcular a diferença entre dois campos

No exemplo, obtém informações, calcula a diferença entre dois campos e gera um arquivo de saída:



  • Obtém informações (Data Grid)
  • Calcula a diferença entre o campo QT_ENTRADA - QT_SAIDA e armazena o resultado no campo QT_ESTOQUE (Calculator)
  • Gera um arquivo de saída no formato TXT (Text File Output)
Então, vamos lá:

1. Acessar KETTLE
2. Criar o step Data Grid, com o seguinte conteúdo:











3. Criar o step Calculator, com o seguinte conteúdo:






4. Criar o step Text File Output, com o seguinte conteúdo:









































5. Resultado do arquivo: ArquivoTXT.txt:
NM_NOME;QT_ENTRADA;QT_SAIDA;QT_ESTOQUE
Água; 100; 58; 42
Café; 12; 4; 8
Milho; 134; 89; 45
Leite; 36; 21; 15
Pão; 23; 13; 10
Manteiga; 32; 17; 15
Feijão; 123; 79; 44

Atualizar apenas o último registro

No exemplo, obtém informações, espera todo o processamento para obter apenas o último registro e gera um arquivo de saída:
  • Obtém informações (Data Grid)
  • Processa todas as informações e obtém apenas o último registro (Blocking Step)
  • Gera um arquivo de saída no formato TXT (Text File Output)



Então, vamos lá:

1. Acessar KETTLE
2. Criar o step Data Grid, com o seguinte conteúdo:

3. Criar o step Blocking Step, com o seguinte conteúdo:

4. Criar o step Text File Output, com o seguinte conteúdo:

5. Resultado do arquivo: ArquivoTXT.txt:
NM_NOME;QT_ENTRADA;QT_SAIDA
Feijão; 123; 79

Utilizando o step Email em um JOB

O exemplo, inicia um JOB, executando uma transformação e no final encaminha um email com log da transformação:
  • Crie um novo Job
  • Inicia o JOB (Start)
  • Executa a transformação Atualiza arquivo (Job Entry Details For This Transformation)
  • Encaminha o email da transformação do o log de execução (Job Mail details)

Então, vamos lá:

1. Acessar KETTLE
2. Criar o step START
3. Criar Atualiza arquivo com o step Transformation e obter uma transformação já existente. Pode ser dos exercícios.
4. Criar o Email da transformação através do step Mail, com o seguinte conteúdo:

Obs: foram utilizado parâmetros de uma conta do Google/Gmail


5. Executar o JOB e aguardar o email da execução do JOB

Obtendo variáveis do arquivo kettle.properties

O exemplo inicia com a inclusão de duas variáveis no arquivo kettle.properties (Mes e Ano), da obtenção das variáveis do arquivo kettle.properties para obter apenas os dados da grid do Ano = 2011 e Mês = 8, calculando a diferença entre o valor de entrada - valor de saída e gerando um arquivo TXT com o resultado:
  • Crie as variáveis NR_MES=8 e NR_ANO=2012 no arquivo kettle.properties
  • Crie a base de dados (Data Grid)
  • Obtém as variáveis do arquivo kettle.properties (Get Variable)
  • Efetuar a pesquisa, através do step Merge Join
  • Calcular a diferença entre os vaklores de entrada - saída (Calculator)
  • Gera um arquivo TXT (Text file output)

Então, vamos lá:

1. Procurar o arquivo kettle.properties
2. Abrir o arquivo kettle.properties
3. Incluir as seguintes variáveis: 
          NR_MES=8
          NR_ANO=2011

4. Salvar as informações do arquivo kettle.properties
5. Acessar KETTLE

6. Criar o step Data Grid com o seguinte conteúdo:


7. Criar o step Get Variable Mês e Ano (Get Variable) com o seguinte conteúdo:


8. Criar o step Merge Join, com o seguinte conteúdo:



9. Criar o step Calculator, com o seguinte conteúdo:


10. Criar o step Text file output, com o seguinte conteúdo:

11. Executar a transformação

12. Resultado do arquivo: Treinamento_GetVarExterna.txt
NR_MES;NR_ANO;VL_ENTRADA;VL_SAIDA;VL_DIFERENCA
8,0; 2011,0; 22,0; 12,0; 10,0