Neste artigo iremos demonstrar como extrair dados de um banco de dados Postgresql e salvar em uma planilha do Microsoft Excel através do Talend Open Studio. Esta é uma rotina tão fácil e acessível de uma forma tão intuitiva, que democratiza o acesso aos dados para todos os usuários.
Objetivos
Neste artigo você aprenderá a:
- Definir Metadados e Conexões com bancos de dados PostgreSQL;
- Carregar os dados do banco de dados mapeado em uma planilha Excel (XLS).
Introdução
Observações: Caso se tenha dúvidas em relação à criação de um repositório local, de um projeto e/ou de um job, por favor, veja os três primeiros passos do artigo Primeiro job: Arquivo delimitado para MySQL.
Requisito: Antes de começar, você irá precisar restaurar a base de dados empresa, que será a origem de nossos dados.
IMPORTANTE: O arquivo em anexo encontra-se em formato .doc. Peço que você renomeie a extensão dele para .backup e para restaurá-lo siga os passos abaixo.
Nota: A versão do PostgreSQL utilizada no exemplo é a 8.4 (http://www.postgresql.org/download/)
Via pgAdmin III
- Clicar com o botão direito em Banco de Dados;
- Selecionar a opção ‘Novo Banco de Dados’;
- Definir os dados desse novo banco (nome, dono, codificação, etc.);
- Clicar com o botão direito no banco criado;
- Selecionar a opção Restaurar;
- Clicar no botão ” … “;
- Informar o caminho onde se encontra o arquivo .backup, clicar em Abrir e logo após em OK.
Via Comando
- Digitar o comando: pg_restore -d [NomeBase] /[Caminho do arquivo.bkp]
Nota: Os colchetes são apenas para ilustração.
Definindo Metadados
Nessa seção iremos descrever o mapeamento da origem do nosso Job (PostgreSQL, Base de Dados Empresa) e o mapeamento do destino (Planilha Excel) dentro do Talend Studio.
PostgreSQL
Na seção Metadata (repositório da ferramenta), clique com o botão direito em Db Connections e selecione a opção Create Connection. No assistente que aparecer defina o nome da conexão e aperte na opção “Next“.
Nesta etapa você definirá o tipo do banco de dados e os detalhes da conexão. Em Db Type selecione PostgreSQL para que as outras opções sejam disponibilizadas e então defina os metadados de sua conexão conforme a imagem apresentada. Qualquer dúvida siga os passo do detalhamento abaixo.
Detalhamento dos parâmetros:
- Login: usuário do banco de dados;
- Password: senha do banco de dados;
- Server: IP do banco (se a conexão for local, pode usar localhost em caso de conexão local);
- Port: porta do banco de dados (já vem preenchido por padrão 5432, caso sua conexão seja em outra porta basta alterar);
- DataBase: nome da base de dados. Seguindo nosso exemplo o nome será Empresa;
- Schema: nome do schema do banco de dados. Esse parâmetro é opcional. Caso você não tenha criado um schema novo para a base de dados deve-se usar o schema public.
Após informar esses parâmetros clique em Check para verificar se a conexão com o banco de dados foi estabelecida. Caso a mensagem “Nome da Conexão connection successful” apareça, clique em OK e logo após Finish.
Nota: Caso uma mensagem de erro apareça ao testar a conexão, verifique se os parâmetros informados estão corretos e tente novamente.
Diante disso, você recuperará as tabelas da base de dados Empresa. Em Db Connections clique com o botão direito na conexão que você criou e selecione a opção Retrieve Schema. Com a janela Schema aberta, clique em Next. Aparecerá um lista de todas as tabelas que fazem parte da base de dados Empresa. Selecione o botão Select All, logo após Next e Finish.
Nota: Para verificar se as tabelas foram recuperadas, expanda a seção Table schemas (diretório abaixo da conexão criada no exemplo). Devem aparecer duas tabelas ( tb_pessoa e td_cargo ).
Planilha Excel
Caso o Job criado para o exemplo não esteja aberto, por favor, abra. Logo após, vá até a Paleta da ferramenta, selecione as opções File -> Output , o componente tFileOutputExcel e o arraste até a área do Design Workspace. Para configurar a sua planilha de destino siga os passos abaixo.
- Clique uma vez em cima do icone do seu tFileOutputExcel;
- Logo abaixo da área do Design Workspace clique na aba Component e certifique-se que você se encontra na opção Basic settings do componente.
- No parâmetro File Name, clique na opção “…” para definir o diretório que você deseja salvar o arquivo e informar o nome dele.
- Marque a opção include header, para que na primeira linha de nossa planiha apareçam os nomes dos campos que estamos carregando.
- Clique no ícone salvar ou aperte Ctrl S para salvarmos as alterações.
Pronto!!! Seu arquivo de destino já está configurado.
Nota: O Talend já coloca por default o caminho do workpace como diretório de saída dos arquivos (C:/Talend/TOS-Win32-r53616-V4.1.2/workspace). Nada impede que você altere conforme desejar.
Implementando o Job
Nessa etapa iremos implementar o processo de carga e você verá como é fácil, mesmo para um usuário não-técnico, extrair dados de um banco Postgresql e salvar em uma planilha Excel através do Talend. Para isso o Job criado como exemplo deve estar aberto. Por favor, siga os passos listados abaixo.
- Clique, segure e arraste as duas tabelas criadas em Db Connections para a área do Design Workspace. Você pode selecionar vários itens utilizando a tecla Ctrl e arrastar de uma só vez.
- Para cada item arrastado, uma janela irá surgir lhe perguntando que tipo de componente você deseja criar a partir desse item. Selecione para todos a opção tPostgresqlInput.
- Para cada tabela do Design Workspace, clique com o botão direito, selecione as opções Row -> Main e arraste a seta até o componente tMap. A ordem das tabelas deve ser seguida, primeiro tb_pessoa e depois td_cargo.
- Clique duas vezes no componente tMap e a janela de mapeamento irá aparecer. No lado esquerdo dessa janela ficam as tabelas da origem, o meio representa a transformação que os dados poderão sofrer e no lado direito o destino onde os dados serão armazenados (ETL). Todas as configurações realizadas no componente tMap serão detalhadas abaixo.
- Para recuperar as informações obtidas através do relacionamento entre as duas tabelas clique na opção “…” da tabela row2 da coluna idt_cargo e digite “row1.cod_cargo”.
- Para criar saída dos dados clique no ícone ” + ” e informar o nome da expressão.
- Clique nas colunas das tabelas de origem e arraste para a saída criada. Arrate apenas os seguintes campos: mat_pessoa, nme_pessoa, nme_cargo, dsc_cargo e tel_ramal.
- Após realizado o mapeamento clique na opção Apply e OK.
Após seguir os passos orientados anteriormente clique com o botão direito, selecione as opções Row -> [Nome da expressão de destino utilizada] e arraste a seta até o componente tFileOutputExcel e salve o projeto mais uma vez.
Certifique-se que seu Job esteja similar a ilustração abaixo.
Executando o Job Talend
- Clique na aba Run e depois no botão Run. Você também pode utilizar a tecla F6.
- Vá atéo diretório de destino que você escolheu e abra o arquivo Excel para visualizar os dados.
Conclusão
Neste artigo foi demonstrado como você realiza um processo de ETL com o Talend, extraindo os dados de uma base de dados no SGBD PostgreSQL, mostrando o cruzamento dos dados de duas tabelas e gerando um arquivo Excel como saída. Dessa forma, esperamos ter mostrado as facilidades da ferramenta Talend. Até a próxima!!!