ETL CSV para MySQL usando PDI(Kettle)

Israel Lucena
5 min readMay 7, 2020

--

Configurando o PDI Spoon Kettle e o MySQL DB no windows 10 e construindo o ETL para ler de um arquivo CSV e salvar em tabela no banco.

Download do pdi-ce-9.0.0.0–423.zip

Para baixar o PDI(Kettle) acesse o SourceForge e baixe a versão mais recente do PDI-CE e enquanto o download é finalizado vamos instalar o Java.

https://sourceforge.net/projects/pentaho/files/Pentaho%209.0/client-tools/
Link na Imagem

Instalação do Java

Baixe a versão mais recente do Java, aqui, após o download faça a instalação,
em seguida vamos configurar as variáveis de ambiente de usuário abaixo.
PENTAHO_JAVA_HOME -> C:\Program Files (x86)\Java\jre1.8.0_251
PENTAHO_DI_JAVA_OPTIONS -> -Xms1024m
(Lembre-se de dar logout após atualizar as variáveis).

Instalação do PDI Kettle

Logo em seguida, quando download do PDI for concluído extrair em um local seguro(ex:Documents) e executar o Spoon.bat.
Se quiser
deixar mais legal envie um atalho do spoon.bat para Área de Trabalho e altere o ícone do atalho pelo spoon.ico presente na pasta data-integration.
Clique no atalho e
você conseguirá acessar pela primeira vez o Spoon(Kettle).

Instalação do MySql

Acessar o site do MySQL Community, aqui, e fazer o download da versão para Windows. Durante a instalação selecionar o modo Custom, e adicionar o MySQL Server 8.0.20 e MySQL Workbench, next-next nos próximos passos da instalação até o momento de cadastrar a senha e finalizar a instalação.

Download do JDBC — MySQL

Acesse e procure por MySQL e acesse o link.

Em Select Operating System selecione (Platform Independent) e faça o download da opção .zip(mysql-connector-java-5.1.49.zip)
Após o download faça a extração da pasta.
Feche o Spoon e vá até a pasta data-integration/lib e cole o arquivo .jar que estava dentro da pasta(mysql-connector-java-5.1.49.jar).

Criando o banco de dados

No workbench você irá criar um banco para receber osdados, no meu caso criei o “pentaho_data”, siga os passos:
-> Click na conexão que deseja utilizar,
-> Click no ícone “Create new schema”
-> Digite o nome e depois Apply(x3)
-> Verifique se foi criado utilizando
(Create a new SQL, and execute show schemas)

Adicionando a conexão

Agora estamos com o MySQL e o PDI Kettle funcionando na sua máquina, vamos integrar os dois configurando a conexão no Pentaho com o MySQL.

No Workbench você encontra os dados da conexão, encontre a conexão que deseja usar e insira seus dados no Spoon:

Abra o Spoon.bat acesse “File/New/Database Connection” e insira os dados da conexão:

Se tudo ocorreu bem, verifique a conexão fazendo o Test e irá aparecer o popup.

Construindo o ETL

Vamos abrir o Spoon.bat

Acesse “File/New/Transformação” e isso irá criar uma tela com a transformação que iremos construir.

Navegue no menu lateral na aba “Design” vá em “input/Csv File Input” arraste o ícone e solte na transformação.

Duplo click no ícone para alterar as configurações. Se não tiver CSV para teste, aqui, você consegue fazer o download de um CSV.

Agora na segunda parte, para facilitar o Kettle tem a opção de “Obtem campos” para importar já os headers do Csv como colunas da tabela. Obter campos com valor “0” irá percorrer todos as linhas do Csv.

Resultado após percorrer os campos.

Agora vamos pro segundo item, que é a conversão do Csv no banco de dados.
Vá em “Design/Output/Table output” arraste e solte ao lado do “load_csv”. Após solta o “Table output” click em “load_csv” segure “shift+click” irá aparecer uma seta azul(Hop), arraste e solte no “Table Output” e clicando na caixa “Main output of step”.

Vamos configurar, duplo click no “Table Output” e inserir os dados.

Se a sua conexão não aparecer na lista, você pode clicar em “New…” e repetir os passos de adicionar conexão.

Na parte de baixo das configurações click em “SQL” e irá abrir um popup com o script de criação do banco de acordo com os dados do Csv. Quando finalizar a criação você receberá uma mensagem de confirmação.

Tabelas criadas, vamos conectar os dados. Marque a opção “Specify database fields”, acesse a aba de “Database fields” e click no botão “Enter Mapping”. Adicione todos os campos mapeados (duplo click). E no final terá que estar como na imagem abaixo. Depois do “OK” estará pronta a transformação de csv para inserção no banco.

Teste Final

Após fechar a janela de configuração, vá no ícone de “Run” e nessa janela click no botão “Run” para iniciar a transformação. E pelo Loggin você irá acompanhar a importação, como também se selecionar o ícone irá visualizar o status com a velocidade da conversão.

Obrigado pela leitura, e espero ter conseguido ajudar.

--

--

Israel Lucena

Northeasterner | Curious and Charismatic | Simple, Grateful, and Zen | Cashew and Cannabis Enthusiast | Coffee Lover