Olá pessoal, tudo bem?!

Há uns dias atrás eu fiz um post explicando como recuperar os metadados do input uma transformação. Era um processo bem simples bastando adicionar dois mais dois steps ao final do processo:

  • MetaData Structure of stream;
  • Output de Excel, texto, CSV e etc.

Ainda que tenha ficado satisfeito com o processo, hoje consegui otimizar a coleta agrupando em um único arquivo, facilitando toda a documentação de qualquer projeto!

É um processo simples, mas que requer um output específico, veja no tutorial abaixo.

CRIANDO A DOCUMENTAÇÃO

O primeiro passo é adicionar o metadata structure of stream na sua transformação e o Excel output ligado a ele. Irei utilizar uma transformação de exemplo para vocês terem uma ideia.

Essa é a minha transformação para a dimensão loja, veja os steps de captura de metadata ao final da transformação.

Agora, abra o output do Excel para configurar o caminho.

Essa é a configuração do destino para o arquivo que será criado, repare que ele não mais possui um nome para cada dimensão e sim, um nome único.

Para efeito de comparação, mostrarei duas transformações diferentes com o mesmo destino de arquivo, reparem!

NOTA: na aba file, não marque nenhuma caixa de diálogo, apenas atribua um destino para o seu arquivo.

Configurado o diretório, vamos para a aba content para darmos continuidade na transformação.

É importante marcar a caixa a Append e para cada transformação, atribuir na opção sheet name, o nome para a aba da planilha. Veja:

Não precisa configurar nenhuma opção em custom e na aba fields, basta clicar em get fields.

Veja abaixo o arquivo final.

Como podemos ver, cada uma das abas da planilha representa uma dimensão criada.

Existe um ponto negativo neste processo por conta do append na configuração que é anexar os mesmos valores cada vez que essa transformação for executada.

O Pentaho irá anexar o resultado de cada execução no documento, e se desmarcar o append, esse tipo de transformação não funciona, passa a ser considerado como um arquivo por dimensão, uma vez que ele irá sobrescrever o documento.

Uma solução de contorno seria adicionar a data ao final do arquivo, assim:

E dessa forma, cada vez que a transformação fosse executada, sempre teríamos a data do arquivo, bastando utilizar a versão mais atual – rodou por último no ambiente.

CONCLUSÃO

A intenção deste post foi apresentar uma forma aprimorada de gerenciar os metadados de um ambiente de ETL.

Dessa forma, concentramos todos em um único arquivo, facilitando o controle para comparação dos registros.

A solução de contorno ao final ainda esta longe do ideal, mas é uma saída para o problema, irei pensar numa forma melhor de gerenciar esta situação para trazer em próximos posts!

Espero que tenham curtido essa dica rápida, saúde!