Olá pessoal!! Acharam que não teria post hoje né?! ledo engano 😉

Nesse breve tutorial sobre Pentaho e suas funções, quero mostrar como criar sequências numéricas durante a transformação. 

Lembrando que dentro do próprio Pentaho há outra forma de criar sequências na hora da carga final como se fosse um identity dentro do SQL Server que será abordado em um outro post.

ÍNDICE:

  1. CRIANDO SEQUÊNCIA
  2. DIVIDINDO CARGA DE INSERÇÃO 
  3. CRIANDO SEQUÊNCIA AGRUPADA
  4. CONCLUSÃO
  5. OLÁ!
  6. SIGA NAS REDES SOCIAIS.

CRIANDO SEQUÊNCIA

Ao abrir o Pentaho, configure sua primeira transformação da seguinte forma:

Configure a transformação generate rows apenas com uma coluna textual e uma coluna de data, podendo ser a data de hoje, como na imagem abaixo.

Agora, vamos configurar o step de criação de sequência.

Essa é a configuração básica para utilizar a sequência numérica gerenciada pelo Pentaho.

  1. Name of value (azul) – Indica o nome da coluna que será criada para receber a sequência de números do step.
  2. Use counter to calculate sequence (preto) – essa caixa de diálogo marcada indica que o Pentaho irá utilizar um contador interno para gerenciar os números que já foram utilizados para que não se repitam.
  3. Counter Name (preto) – nome que podemos atribuir a este contador e uma vez criado, podemos utilizar em qualquer parte do seu ETL.

NOTA: como perceberam existe a possibilidade de utilizar uma sequence criada pelo no próprio banco de dados, desde que seja configurada devidamente, não há problema. 

E por fim, a configuração do write to log. Veja que a coluna que destacamos em azul no step anterior, aparece para ser selecionada aqui.

E agora, vejam o resultado final da transformação criada.

DIVIDINDO CARGA DE INSERÇÃO 

É possível dividir a inserção de números na sua transformação mesmo com sequences diferentes. Aqui justifica a importância de atribuir um nome para sua sequência.

Como dito anteriormente, quando utilizamos uma sequence que já existe, o Pentaho gerencia os valores, inserindo apenas os que estão disponíveis para uso.

Configure a sua transformação da seguinte maneira:

NOTA: o passo chamado NewRow é o generate rows e sua configuração é exatamente a mesma utilizada no exemplo anterior!!

Neste step configurei somente 10 linhas para criação.

Configuração dos steps de sequence:

Notem que os dois steps de sequence estão inserindo na mesma coluna e utilizando o mesmo nome de contador.

Como em cada sequência, 10 linhas serão geradas e números inseridos, veja o resultado final da transformação no dummy. 

Em vermelho as 10 primeiras linhas da sequência 01 e em azul da sequência 02.

CRIANDO SEQUÊNCIA AGRUPADA

Por fim, o Pentaho permite criar uma sequência agrupada para valores iguais baseados em uma coluna.

Para esse tipo de procedimento, vamos utilizar a transformação Add value fields changing sequence. 

Antes, crie um arquivo de texto simples com duas colunas: Id e Texto com os seguintes dados:

Ao terminar de criar, utilize a transformação text file input para ler este arquivo texto. Uma vez feito isso, configure da seguinte forma:

No step de add value fields temos que especificar qual coluna vamos utilizar como parâmetro de comparação.

Podemos perceber que é uma transformação de configuração bem simples. 

Ao final da configuração, execute a transformação:

Pronto, nossa transformação agrupada por valores similares!!

CONCLUSÃO

Este foi um post onde quis mostrar algumas opções de sequência numérica criada dentro do Pentaho.

Como dito no início, existem outras formas de se estabelecer este padrão na carga final e que podem ser utilizados em conjunto, caso deseje.

Não quis entrar no mérito de usar uma sequence de banco pelo Pentaho pois acredito que sejam melhores gerenciadas pelo SGBD que esteja usando, mas, farei um teste futuro.

Espero que tenham gostado, saúde!

Baixe aqui os arquivos

OLÁ!

Se chegou até aqui e gostou do pequeno tutorial, deixe seu like compartilhe. Ajude o blog a alcançar mais pessoas!

Obrigado! Volte Sempre!

Caso queira receber em primeira mão esse tipo de conteúdo, se inscreva abaixo:

SIGA NAS REDES SOCIAIS.