Pentaho Data Integration Step by Step – parte 01

Olá pessoal, nesta série de posts vamos abordar as características e a utilização da maioria das steps do Pentaho Data Integration – PDI 8.1

Muitas vezes estudamos, seguimos templates e how to para iniciarmos nesse mundo de ETLs, integrações de dados com PDI.  Isso não é errado, é um começo e só a experiência vai te apresentar respostas e soluções apropriadas para cada situação.

Na teoria tudo funciona perfeitamente, mas o dia-a-dia mostra que não é bem assim.  

Para tentar ajudá-los com seu dia-a-dia vamos mostrar, de maneira prática, a utilização dos principais steps do PDI, na versão 8.1.

Iniciando essa primeira parte, vamos falar sobre os steps de Input, que é por onde tudo começa em processos de ETL e integração de dados.

A figura abaixo mostra o menu lateral do PDI 8.1 CE na aba Design com as pastas de steps. 


CSV file Input

A primeira pasta armazena as steps de Input do PDI e a primeira da lista é a step CSV file input.


CSV file input

Abrindo a janela de configuração da step temos a seguinte interface:

CSV file input

Na janela de configurações encontramos várias opções, vamos a elas:

CSV file input

Step name – Nome da Step, você pode colocar o nome que achar mais adequado para a step.

Filename – Especifique  um dos seguintes nomes:
     – O nome (nome de arquivo) do arquivo de origem CSV
     – O nome (o campo do nome do arquivo) do campo que contém o (s) nome (s) de vários arquivos de origem se a etapa Entrada de Arquivo CSV receber dados de outra etapa. Se a etapa Entrada de Arquivo CSV receber dados, a opção include the filename in the output? (incluir o nome do arquivo na saída?) também aparece, conforme imagem abaixo:

Delimiter – Delimitador padrão dos campos do arquivo CSV.  O delimitador padrão para a etapa Entrada de Arquivo CSV é um ponto-e-vírgula (;).

Enclosure – Especifique o caractere de separação usado no arquivo de origem.

NIO buffer size – Especifique o tamanho do buffer de leitura, o número de bytes que são lidos de uma vez da origem.

Lazy conversion – Indique se o algoritmo de conversão lenta pode ser usado para melhorar o desempenho. O algoritmo de conversão lenta tenta evitar conversões de tipo de dados desnecessárias, se possível. Isso pode resultar em melhorias significativas no desempenho. O exemplo típico é a leitura de um arquivo de texto e a gravação em um arquivo de texto.

Header row present? – Indique se o arquivo de origem contém uma linha de cabeçalho contendo nomes de colunas.

Add filename to result – Adiciona o(s) nome(s) do(s) arquivo(s) de origem do CSV ao resultado dessa transformação.

The row number field name (optional) – Especifique o nome do campo que conterá o número da linha na saída desta etapa.

Running in parallel? – Indique se você terá várias instâncias desta etapa em execução (cópias da etapa) e se deseja que cada instância leia uma parte separada do (s) arquivo (s) CSV.

Ao ler vários arquivos, o tamanho total de todos os arquivos é levado em consideração para dividir a carga de trabalho. Nesse caso específico, certifique-se de que TODAS as cópias da etapa recebam todos os arquivos que precisam ser lidos; caso contrário, o algoritmo paralelo não funcionará corretamente.

New line possible in fields? – Indique se os campos de dados podem conter novos caracteres de linha.

File encoding – Especifique o enconding do documento.

Campos

Você pode especificar quais campos ler do seu arquivo CSV através da tabela Campos. Clique em Obter campos para que a etapa preencha a tabela com campos derivados do arquivo de origem com base nas configurações atuais especificadas (como Delimitador ou Gabinete). Todos os campos identificados por esta etapa serão adicionados à tabela.

A tabela contém as seguintes colunas:

Name: Nome do campo;

Type: Tipo de campo (String, Data ou Numérico);

Format: Uma máscara opcional para converter o formato do campo original. 

Length:  O comprimento do campo depende dos seguintes tipos de campo:         

     Número: Número total de algarismos significativos em um número

     String: comprimento total da string

     Data: Comprimento da saída impressa da string (por exemplo, quatro é um comprimento por um ano)

Precision:  Número de dígitos de ponto flutuante para campos do tipo de numérico.

Currency:  Símbolo usado para representar moedas (R$ 5.000,00 ou € 5.000,00 por exemplo).

Decimal:  Um ponto decimal pode ser um “.” ou “,” (5,000.00 ou 5.000,00 por exemplo).

Group:  Um agrupamento pode ser um “,” ou “.” (5.000,00 ou 5.000,00 por exemplo).

Trim Type: Método de trim se o valor do campo for string.

Bom pessoal, essa são as informações sobre o step CSV file input. Semanalmente estarei postando descrições sobre as principais steps do PDI 8.1 e logo após algumas aplicações práticas das mesmas.

Estou preparando alguns vídeos para complementar os posts.

Até a próxima.

Assine nossa newsletter e receba atualizações sobre o mundo da análise de dados.

Posts mais antigos

13 thoughts on “Pentaho Data Integration Step by Step – parte 01

  1. Olá, gosto muito desses seus tutoriais, eu que sou iniciante no PDI é uma mão na roda.
    Tenho inumeras duvidas sobre a utilização do PDI em alguns casos, como por exemplo se é possivel buscar um arquivo CSV em um outro computador apartir do meu. E tbm como funcionaria a conexão com um banco de dados MongoDB.

  2. Opa, beleza! Estou iniciando no PDI e gostaria de unir 7 planilhas de Excel (.XLS) com as mesmas colunas em um único arquivo de Excel. Parece simples mas não consegui resolver…rsrsrs. Abraço!

    1. Olá Tiago, tudo bem?
      Amigo, se as tabelas possuem os mesmos campos ou campos chaves em todas as tabelas, que permitam relação entre os dados, é tranquilo.
      O legal seria dar uma olhada na estrutura desss planílhas

  3. Bom Dia!
    Sou iniciante no PDI, e os artigos aqui tem me ajudado bastante. Muito obrigado pela generosidade e iniciativa!
    Mas quero deixar uma dúvida sobre o step Unique Rows.
    Existe a opção “Redirect duplicate row” para que os registros duplicados sejam tratados como log.
    É possível fazer com que os registros duplicados sejam gravados em uma tabela, arquivo ou planilha?

    Obrigado!

    1. Muito obrigado pelas palavras de incentivo Vagner, estamos aqui para ajudar os colegas, sempre que possível.
      Vamos lá para sua dúvida.

      Marque a opção “Redirect duplicate row” na step unique row.
      Unique row

      Ligue a mesma com o destino do restante do fluxo:
      Destino do fluxo

      Em seguida, adicione o destino das linhas duplicadas e crie um hop entre elas do tipo “error handling of step”.
      error handling of step

      Pronto, suas linhas duplicadas serão apontadas para esse step.

      Qualquer coisa é só entrar em contato.

      Abraço

  4. achei bem interessante os posts sobre o PDI, estou iniciando o trabalho com o pentaho e confesso que acho bem interessante, existe algum grupo que possa tirar dúvidas? ou forum? excelente o conteúdo Giovani Stefani!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *