ETL CSV para MySQL usando PDI(Kettle)
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.
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.