Criação de ETL com o Pentaho Data integration i ntegration (PDI)
Sumário Criação de ETL sem lookup .......................... ................................................. .............................................. ............................................ ..................... 2 Criação de ETL com lookup............................................. ..................................................................... .............................................. ...................... 11
Criação de ETL sem lookup Para criar um ETL utilizando o PDI selecione no menu a opção abaixo: File > Novo > Transformação
Será criado um novo pacote de transformação, 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 através 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 transformação 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 através de parâmetros de seleção. ETL - Table Input / Table output No exemplo abaixo, será apresentado uma maneira de extração e carga de dados de forma simplificada. Insira uma componente de entrada de dados (Table Input).
Ao executar um duplo cliq e sobre o componente será apresentado uma tela para que seja informada uma consul a especializada, ou que seja criado uma cons ulta simples através da seleção da tabel deseja pela interface se seleção de objetos ( et SQL select statement ...).
No campo connection sele ione uma conexão existente ou crie uma nov a conexão utilizando o botão new. Vamos criar uma nova con xão com um banco do SQL SERVER utiliz ndo a fonte de acesso OBDC. Para utilização desta fonte necessário criar a conexão com o banco de dados desejado informando o nome do DS gerado na conexão do PDI.
Após criar a conexão com a fonte de dados desejada, selecione a no campo Connection.
Informe uma consulta no campo SQL ou monte a consulta de forma gráfica utilizando o botão 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 é possível alterar os campos gerados da fonte de origem, remover os que não serão necessários ou realizar alterações em seu tipo. Na aba Select & Alter, clique no botão Get fields to Select, para que seja exibido os campos definidos na fonte de dados de origem.
Caso não seja preciso realizar nenhuma transformação, 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 conexão para o banco de dados destino.
Informe no campo target Schema o schema utilizado na criação das tabelas. Caso não tenha sido definido nenhum, as tabelas são 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 configuração do table output, main options e Database fields. Na aba database Fields, clique no botão 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 botão indicado abaixo.
Clique em Launch.
Criação 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 são extraídos de uma fonte de dados origem, passa por um componente de transformação, utiliza um componente de pesquisa, novamente é submetido a uma transformação e conclui o processo inserindo os novos registros e atualizando os existentes. O primeiro passo a ser realizado é criar as conexões com as fontes de dados de origem e destino.
Fonte de Destino
Fonte de Origem
Após criar as conexões insira um componente de Table Input e selecione a conexão da fonte de dados de origem e insira a consulta SQL ou realize a construção através da interface gráfica.
Insira um componente Select Values para realizar a transformação 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
atabase lookup.
No exemplo apresentado, xiste uma necessidade de retornar o identifi cado referente à descrição de estado apre entada na fonte de origem, para isto, é necessário um componente de pesquisa ue consiga retornar o campo identificador da tabela onde estão armazenados os dado s sobre estado e adiciona-los no processo.
Para isto, selecione a cone ão da fonte de dados desejada, informe o s hema e a tabela da pesquisa. Na opção “A chave(s) para examinar o valor(s)” inform os campos que iram compor o relacionam nto entre as fontes de dados para a pesquisa. No exemplo apresentado, oi utilizado ESTADO com o campo DESC _ESTADO para compor a relação entre as f ntes.
O valor definido para retor o foi o ID_ESTADO do tipo inteiro.
No próximo componente S lect values, é necessário remover o campo será substituído pela opção ID_ESTADO.
STADO, que
Feita a transformação, iremos utilizar o componente Insert / Update. Este componente permite que seja realizada uma integração 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.