ETL na Prática

Como criar conexão MySql no Spoon ( Pentaho Data Integration PDI )

Será apresentado agora uma das formas de estabelecer uma conexão entre o Spoon (PDI) e uma base de dados MySql. Basicamente será o mesmo procedimento para que você realize conexão com outros servidores de banco de dados.

O que vamos precisar ?

1 - Spoon funcionando.

2 - Servidor MySql instalado, com pelo menos uma base de dados criada.

3 – Biblioteca Java de conexão MySql.

 

Configurando conexão Spoon (PDI) com MySql

Para configurar uma comexão siga os seguintes passos:

1. Abra o Spoon.

2. Crie uma nova transformação, você pode criar uma tranformação através do menu File > Novo > transformação ou através do atalho Ctrl+N

2. telaPrincipa

 

3. Antes de iniciar a configuração da nossa conexão com o banco de dados precisamos baixar a biblioteca Java MySql JDBC. Você pode obter opcionalmente a biblioteca através das opções abaixo:

Download Java MySql JDBC Connector

Opção 1 – MediaFire

Opção 2 – 4Shared

Após realizar o download da biblioteca, a coloque pasta ..\lib que está dentro do diretório de instalação do Spoon (PDI).

4.  Agora vamos iniciar a configuração da nossa conexão. A tela de configuração de conexões pode ser acessada através do menu File > Novo > Database Connection…

1. DatabaseConnection

4.1. Certifique-se de estar selecionado o tipo General (1) no painel localizado no lado esquerdo da janela de configuração de conexões.

4.2. Defina agora um nome para a sua conexão no campo Connection Name (2), pode ser definido o nome de sua preferência. Para nosso exemplo vamos definir o nome como conexaoMYSQL.

4.3. No painel Connection type (3) você deve selecionar o tipo de conexão que deseja configurar. Para nosso exemplo escolheremos a conexão MySql.

4.4. No painel Acess (4) selecionamos o método de acesso que será utilizado pelo Spoon. Para nosso exemplo selecione Native (JDBC), lembre-se que adicionamos a biblioteca Java JDBC a pasta de ..\lib do Spoon (PDI).

4.5. Por fim no painel Settings (5) informamos as propriedade da conexão:

Host Name: localhost (IP de conexão para o seu servidor de banco de dados)

Database Name: spoon_trainer (Nome do banco de dados que deseja conectar)

Port Number: 3306 (Número da porta de comunicação utilizada por seu servidor MySql)

User Name: root (Usuário de acesso ao banco de dados)

Password: **** (Senha de acesso ao banco de dados)

4.6. Após definidas as configurações vamos testar nossa conexão clicando no botão Test (6).3.1. teste_DatabaseConnectionDados

Se for apresentada uma tela com uma mensagem semelhante a esta:

Connection to database [NOME_DA_CONEXAO] is OK.
Hostname       :  IP/MÁQUINA
Port           :  PORTA
Database name  : BASE_DE_DADOS

Parabéns, você configurou uma conexão entre o Spoon (PDI) e uma base de dados MySQL.

5. Após criar e testar a conexão espera-se que você possa visualizar algo parecido com a imagem abaixo, pode-se observar que no quadro 1 na aba view podemos visualizar a conexão cria com o banco de dados e no quadro 2 está o container da transformação criada, onde iremos criar nosso processo de tratamento e transferência dos dados.

4. resultado_thumb[4]

O que é uma transformação ?

Uma transformação é o nome dados os passos necessários para converter o valor obtido do sistema de origem dos dados para o valor esperado no destino.
Abordamos o conceito básico de transformação no arqtigo: O que é ETL (Extract-Transform-Load)?
Para criarmos uma transformação utilizando o Spoon (PDI), basta acessar o menu superior em File > Novo > Transformação.
2. telaPrincipa
Uma transformação contém um ou mais processos de tratamento de dados. Dentro das transformações que vamos tratar nossos dados, é onde definimos quais dados desejamos obter da origem e como desejamos que eles sejam gravados nos destino.

ATENÇÃO IMPORTANTE:
Em um única transformação podemos criar vários processos de tratamento. Porém, uma transformação é executada de forma paralela, ou seja, todos os processos são executados ao mesmo tempo. Assim, em uma mesma transformação não posso realizar o tratamento de dados que possuem algum tipo de dependência física, como tabelas de um banco de dados que possuem FK (chave estrangeria).
pdi-screen3
Fonte: http://community.pentaho.com/projects/data-integration/
Em um exemplo simples apresentado acima é possível observar três tratamentos diferentes em uma mesma transformação.
Quando essa transformação for executada, os três processos iniciados em paralelo, ou seja, o início de um processo de tratamento não dependerá do fim do outro ou vice e versa.





Criando tranformações com Spoon

Será apresentado a seguir a criação de uma tranformação simples, utilizando duas base de dados em servidore diferentes.
A tranformação que iremos criar possui um modelo simples, porém muito utilizado em processos de alimentação de Data Warehouses, vale lembrar que o Spoon (PDI) é uma ferramenta de BI voltada para lipeza e transformação de dados. Mas, isso não é impedimento para utiliza-la em outros projetos.
O que precisamos ?
Para não deixar este artigo muito extenso não vamos abordar o processo de configuração de conexão com o banco de dados.
Caso tenha duvidas você pode aprender a configurar uma conexão com banco de dados no artigo: Como criar conexão MySql no Spoon ( Pentaho Data Integration PDI )
Por onde começar?
1. Crie uma nova trasnfromação através do menu  File > Novo > transformação
2. Crie uma nova conexão através do menu File >Novo > Database Connection…
3. DatabaseConnectionDados

3. Após criar e testar a conexão espera-se que você possa visualizar algo parecido com a imagem abaixo, pode-se observar que no quadro 1 na aba view podemos visualizar a conexão cria com o banco de dados e no quadro 2 está o container da transformação criada, onde iremos criar nosso processo de tratamento e transferência dos dados.
4. resultado

4. Agora vamos iniciar o tratamento dos dados que serão trabalhados dentro da nossa transformação. Para isso selecione a aba Design. Inicialmente vamos utilizar os Steps de Input (Entrada) e Output (Saída), caso tenha dúvida sobre o significado do termo Step para o PDI leia o Artigo: EM BREVE

Para o exemplo utilizaremos:
  • o Step Table input que pode ser encontrado entre os Steps da pasta Input (Quadro 1 no painel Design)
  • o Step Table output que pode ser encontrado entre os Steps da pasta Output (Quadro 2 no painel Design)
estepes

Para que este artigo não fique muito extenso daremos sequência em outra postagem.