
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:

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

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:

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

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:

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

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:

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

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:

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:

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:

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:

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:

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

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:

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:

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

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.