Trabalhando com repositório de arquivos no PDI

repositorio-daniel-rabelo

Recentemente trabalhei em um projeto com o Caio Souza (Professor Coruja) e ele me deu algumas dicas bem legais de como trabalhar com repositório de arquivos no PDI (Pentaho Data Integration).
Esse post irá mostrar passo a passo como criar um repositório local de arquivos utilizando o PDI e também como trabalhar com variáveis de ambiente de forma que o projeto que será desenvolvido possa ser executado na máquina de outro desenvolvedor ou no servidor de BI.

Ao término deste tutorial, você irá aprender:

  • Trabalhar com repositório de arquivos no PDI
  • Configurar variáveis de ambiente

Ok, vamos a prática. Nosso projeto irá extrair os usuários de uma tabela no PostgreSql e exportar para o Excel.

Ambiente de desenvolvimento utilizado:

  • Linux Ubuntu 12.04 64bits
  • PostgreSQL 8
  • PDI (Pentaho Data Integration) 4.4.0
Passo 1 – Criando o repositório

Vamos iniciar o projeto. Execute o PDI, irá abrir uma janela de repositórios:
repositorio-PDI

Clique em adicionar (ícone com sinal de +) novo repositório, em seguida selecione a segunda opção Kettle file repository… e clique em ok:
2

Crie um diretório chamado projeto-usuario  Em seguida, selecione o diretório criado clicando no botão Navega…
Informe o ID e Name do repositório: proj_usuario
Veja como ficou minha configuração:
3

Clique em ok. Selecione o repositório criado e clique em ok novamente:
repo-proj

Passo 2 – Criando uma conexão com o banco

Vamos criar uma conexão com o banco de dados postgre. Clique no menu superior:
Tools > Repositórios > Explorar repositórios
Ou
Ctrl+E

Clique na aba Connections e adicione uma nova conexão.
Selecione o banco de dados postgre em Connection Type, e preencha os parâmetros de conexão:
5

Após preencher os parâmetros de conexão, faça um teste clicando no botão Test:
6

Clique em ok e em seguida clique no botão Close para fechar a janela de repositório.

Foi criado o arquivo postgreSql.kdb na raiz do diretório do projeto, esse arquivo contém os parâmetros da conexão que criamos.
No diretório /home/SEU-USUARIO/.kettle/ foi criado um arquivo repositories.xml, esse arquivo contém as informações sobre onde o seu repositório está localizado.

Agora feche o PDI. (Esse passo é importante, pois iremos definir uma variável de ambiente, por isso o PDI deve ser fechado).

Passo 3 – Criando os diretórios do projeto

Vamos criar dois diretórios em: /…./projeto-usuario

Acesse seu diretório projeto-usuario via terminal:
7

Crie dois diretórios. Um chamado etls e outro chamado exportacao:
8

Passo 4 – Criando a tabela de usuarios

Acesse seu banco de dados utilizando um client SQL de sua preferência, eu utilizei o pgAdmin III

Comando para criar a tabela de usuários:

CREATE TABLE usuario (
   id_usuario SERIAL NOT NULL PRIMARY KEY,
   nome VARCHAR(20) NOT NULL);

Inserir os usuários de sua preferência, comando:

insert into usuario (id_usuario, nome) values (1,'Daniel Rabelo');
insert into usuario (id_usuario, nome) values (2,'Isabel Nascimento');
insert into usuario (id_usuario, nome) values (3,'Cloves Alves')
insert into usuario (id_usuario, nome) values (4,'Pedro Genuino');
Passo 5 – Configurando a variável de ambiente

Acesse o arquivo kettle.properties no seguinte diretório:
/home/SEU-USUARIO/.kettle

Abra esse arquivo com um editor de sua preferência e adicione a seguinte linha:
PATH_BI=/home/daniel/projeto-usuario

Exemplo:
9

 

 

Configuração do PATH_BI para Windows
#DIRETORIO DE DESENVOLVIMENTO
PATH_BI=C\:\\Trab\\desenv\\projeto-usuario

OBS: Não se esqueça de inserir o caminho correto, no exemplo acima,  adicionei o caminho de minha máquina do “projeto-usuario”

Salve o arquivo kettle.properties e feche o editor.

Passo 6 – Criando uma transformação para exportar os usuários

Acesse o PDI, selecione o repositório proj_usuario e clique em OK.

Clique em File > Novo > Transformação (Ctrl+N)

Salve a transformação com as seguintes características:
Nome da transformação: transf_usuario
Diretório: selecione a pasta etls

Exemplo:
10

Na aba Design (Lado esquerdo), clique e arraste o componente Table input para o lado direito.
Agora clique no componente Microsoft Excel Output e arraste para o lado direito.

Pressione a tecla Shift, Selecione o componente Table input e mova o hop até o componente Microsoft Excel Output.
Exemplo:
11

Dê um duplo clique no componente Table input, e preencha os seguintes valores:
Connection: Selecione a conexão que criamos, postgreSql

SQL:

SELECT
id_usuario,nome
FROM
public.usuario

Exemplo:

12

Para fazer um teste, clique no botão Preview. Clique em ok para salvar as mudanças.

Agora dê um duplo clique no componente Microsoft Excel Output, preencha os seguintes valores:
Na aba File, no campo filename, insira o seguinte valor:
${PATH_BI}/exportacao/usuarios
Exemplo:
13

Na Aba Fields, clique no botão Obtem campos.
Exemplo:
14

Clique em ok e salve a transformação.

Pronto, agora podemos executar nossa transformação e ver o resultado.

Clique no botão Run (ícone de play) para executar a transformação, ou F9.
Será exibida uma janela onde nossa variável PATH_BI é exibida:
15

Clique no botão Launch. Essa transformação será executada bem rápido porque existem poucos dados.
Se tudo ocorrer bem, os dois componentes terão um ícone de Check, indicando que a execução foi executada com sucesso:
16

Acesse seu diretório /home/SEU-USUARIO/projeto-usuario/exportacao e veja o arquivo chamado usuarios.xls
Dados do arquivo:
17

Sucesso 🙂 !!!

Dessa forma você pode compartilhar o projeto com outras pessoas, bastando apenas alterar o caminho do parâmetro PATH_BI do arquivo kettle.properties inserindo o caminho do projeto.

Fiz o commit deste projeto no GitHub, você pode fazer o download Aqui

Espero que possa ajudar, abraços e boa sorte.

Desenvolvedor de software

Marcado com: , , , , ,
Publicado em PDI
8 comentários em “Trabalhando com repositório de arquivos no PDI
  1. Mandy disse:

    I came to your page and noticed you could have a lot more traffic. I have found that the key to running a website is making sure the visitors you are getting are interested in your subject matter. There is a company that you can get traffic from and they let you try it for free. I managed to get over 300 targetted visitors to day to my website. Check it out here: http://nsru.net/fdse

  2. I like the helpful info you provide in your articles. I’ll bookmark your weblog and check again here frequently. I am quite certain I’ll learn many new stuff right here! Good luck for the next!

  3. Diego disse:

    Excelente artigo, boa didática e de fácil entendimento. Obrigado!

  4. Paulo disse:

    Parabéns pela iniciativa. O conhecimento para si só não engrandece a ninguém, conhecimento é para ser compartilhado e ensinado..Parabéns novamente pela iniciatia.Estou iniciando os estudos com o Kettle estou impressionado com o poder desta ferramenta de ETL

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Categorias
Estatísticas do Site
  • 17,256 hits

Digite seu endereço de email para acompanhar esse blog e receber notificações de novos posts por email.

Junte-se a 141 outros seguidores

%d blogueiros gostam disto: