Você está na página 1de 16

Criao de ETL com o Pentaho Data integration (PDI)

Sumrio
Criao de ETL sem lookup ............................................................................................. 2 Criao de ETL com lookup........................................................................................... 11

Criao de ETL sem lookup


Para criar um ETL utilizando o PDI selecione no menu a opo abaixo: File > Novo > Transformao

Ser criado um novo pacote de transformao, com a paleta de ferramentas na parte esquerda da tela.

Clique em File > Save para salvar o arquivo.

Nesse tutorial, iremos utilizar os recursos abaixo para criar o ETL. Input

Output

Transform

Lookup

Table input Componente utilizado para entrada de dados atravs de uma tabela. Insert / update - Componente utilizado para inserir novos registro e atualizar os existentes na fonte de
dados de destino.

Select values Componente utilizado para transformao de tipo de dados das colunas providas pelo componente de entrada de dados, permitindo remover ou adicionar novas colunas. Database lookup Componente que permite realizar uma pesquisa em uma fonte de dados atravs de parmetros de seleo. ETL - Table Input / Table output No exemplo abaixo, ser apresentado uma maneira de extrao e carga de dados de forma simplificada. Insira uma componente de entrada de dados (Table Input).

Ao executar um duplo clique sobre o componente ser apresentado uma tela para que seja informada uma consulta especializada, ou que seja criado uma consulta simples atravs da seleo da tabela deseja pela interface se seleo de objetos (Get SQL select statement ...).

No campo connection selecione uma conexo existente ou crie uma nova conexo utilizando o boto new. Vamos criar uma nova conexo com um banco do SQL SERVER utilizando a fonte de acesso OBDC. Para utilizao desta fonte necessrio criar a conexo com o banco de dados desejado informando o nome do DSN gerado na conexo do PDI.

Aps criar a conexo com a fonte de dados desejada, selecione a no campo Connection.

Informe uma consulta no campo SQL ou monte a consulta de forma grfica utilizando o boto Get SQL select statement.

Insira um componente Select value para receber os dados da fonte de origem. Clique no componente Table input e conecte-o ao componente Select values.

Clique duplo sobre o componente Select values , ser apresentada a tela abaixo.

Na tela exibida, existem 3 abas onde possvel alterar os campos gerados da fonte de origem, remover os que no sero necessrios ou realizar alteraes em seu tipo. Na aba Select & Alter, clique no boto Get fields to Select, para que seja exibido os campos definidos na fonte de dados de origem.

Caso no seja preciso realizar nenhuma transformao, clique em Ok para continuar. Insira um componente Table output para receber os dados transformados do componente Select values. Clique no componente Select values e conecte-o ao componente Table output.

Clique duplo sobre o componente Table output , ser apresentada a tela abaixo.

Crie uma nova conexo para o banco de dados destino.

Informe no campo target Schema o schema utilizado na criao das tabelas. Caso no tenha sido definido nenhum, as tabelas so criadas no dbo. Selecione a tabela que dever receber os dados no campo Target table.

Caso, deseje apagar os dados da tabela destino antes de realizar a carga, marque o flag truncate table. Existem duas abas na janela de configurao do table output, main options e Database fields. Na aba database Fields, clique no boto Enter fields mapping

Ser exibido a tela abaixo onde dever ser feito o mapeamento entre os campos da fonte de origem e destino.

Clique em Ok para confirmar os dados definidos.

Para executar o processo clique no boto indicado abaixo.

Clique em Launch.

Criao de ETL com lookup


Neste exemplo iremos construir um ETL utilizando novos recursos o Database lookup e o insert /update.

No exemplo acima os dados so extrados de uma fonte de dados origem, passa por um componente de transformao, utiliza um componente de pesquisa, novamente submetido a uma transformao e conclui o processo inserindo os novos registros e atualizando os existentes. O primeiro passo a ser realizado criar as conexes com as fontes de dados de origem e destino.

Fonte de Destino

Fonte de Origem

Aps criar as conexes insira um componente de Table Input e selecione a conexo da fonte de dados de origem e insira a consulta SQL ou realize a construo atravs da interface grfica.

Insira um componente Select Values para realizar a transformao desejada nos dados fornecidos pela fonte de origem. Como pode ser visto no exemplo abaixo a consulta retornou dois campos texto Cidade e Estado.

Insira um componente de Database lookup. No exemplo apresentado, existe uma necessidade de retornar o identificado referente descrio de estado apresentada na fonte de origem, para isto, necessrio um componente de pesquisa que consiga retornar o campo identificador da tabela onde esto armazenados os dados sobre estado e adiciona zenados adiciona-los no processo.

Para isto, selecione a conexo da fonte de dados desejada, informe o schema e a tabela da pesquisa. Na opo A chave(s) para examinar o valor(s) informe os campos que iram compor o relacionamen entre as fontes de dados para a pesquisa. relacionamento No exemplo apresentado, foi utilizado ESTADO com o campo DESC_ESTADO para compor a relao entre as fontes.

O valor definido para retorno foi o ID_ESTADO do tipo inteiro.

No prximo componente Select values, necessrio remover o campo ESTADO que ESTADO, ser substitudo pela opo ID_ESTADO.

Feita a transformao, iremos utilizar o componente Insert / Update. Este componente permite que seja realizada uma integrao entre os campos da fonte de dados de origem e destino, permitindo que os novos registros sejam gravados ou que seja atualizado os registros existentes.

Para executar o ETL utilize a dica citada no 1 exemplo.