Conectando Pentaho Data Integration (PDI) com as planilhas do Google (Google Sheets)

Veja como conectar ler e escrever dados das planilhas do Google (Google Sheets), utlizando o Pentaho Data Integration (PDI).

Introdução

Fala pessoal, blz?
Hoje trago um simples experimento de integração do Pentaho com as planilhas do Google.

Plugin

Em minhas buscas pelo Google, cheguei neste plugin: https://github.com/GlobalTechnology/pdi-google-spreadsheet-plugin
O arquivo esta no GitHub, mas caso tenha alguma dificuldade salvei uma cópia no meu Google Drive (versão de 20/07/2020): https://drive.google.com/file/d/1knkJFxshysSaDCd0X-QuEoMmd3xhpchl/view?usp=sharing

Faça o download, e para utiliza-lo, descompacte o arquivo na sua pasta de plugins do Pentaho, no meu caso o diretório é “C:\data-integration\plugins”, e caso esteja com o Pentaho em execução, reinicie ele.

Ao inicia-lo, já é possível localizar as transformações no menu ao lado.

Print da busca por Google na tela de transformações

API Google Cloud Platform

Agora, talvez seja a parte mais “chatinha” do processo, caso você não tenha experiencia com criação de API’s na plataforma Google Coud. Para que o Pentaho possa comunicar-se com as planilhas, é preciso uma Conta de serviço e uma chave privada para autenticação.

Para isso, acesse: https://console.developers.google.com/projectselector/iam-admin/iam
e clique em CRIAR PROJETO;

Print do botão CRIAR PROJETO

Defina um nome pro seu projeto, e preencha as demais informações caso você as possua, e clique em CRIAR;

Print da tela de criação de projeto

Após a criação do projeto, clique em Contas de serviço, e em seguida CRIAR CONTA DE SERVIÇO;

Print da tela de criação de conta de serviço

Defina um nome para sua conta, e preencha os demais dados de acordo com a sua necessidade;

Print da segunda tela de criação de conta de serviço

Defina o tipo de permissão que esta conta terá;

Print da terceira tela de criação de conta de serviço

Na última tela, caso necessário preencha os campos, senão clique em CONCLUIR

Print da última tela de criação de conta de serviço

Após a criação da conta, salve o e-mail criado, e clique no botão de opções e em Criar chave, para criarmos uma chave privada de acesso que permitirá o acesso do Pentaho ao serviços do Google;

Print tela de criação de chave privada

Na próxima tela, selecione a opção P12, e clique em CRIAR.
Faça o download do arquivo que será gerado, e guarde-o pois usaremos ele dentro do Pentaho.

Print da tela de tipo de chave privada

Teste de integração

Agora que já possuímos o plugin instalado, a conta criada e configurada no Google Cloud, vamos testar a conexão. Crie uma planilha qualquer, e compartilhe com o e-mail da Conta de serviço criada;

Print da planilha de teste criada
Print da tela de compartilhamento da planilha com o e-mail da Conta de serviço

Dentro do Pentaho, adicione a transformação “Google Spreadsheet Input”, e preencha o campo Email address com o e-mail da conta de serviço como na imagem abaixo, clique em Browse para selecionar o arquivo da chave privada baixada, e clique em Test Connection.
Se tudo estiver certo, aparecerá ao lado a mensagem “Success!”.

Print da aba Service Account

Na aba seguinte, “Spreadsheet” você consegue selecionar a planilha e a página desejada;

Print da aba Spreadsheet

E na aba “Fields” você seleciona as colunas da planilha informada anteriormente;

Print da aba Fields

Abaixo segue o log com o resultado da transformação:

Print do log de resultado

Para fazer o Output em uma planilha, o processo é bem semelhante, somente atente-se para preencher corretamente os dados da Conta de serviço.

Conclusão

Mais uma vez, o Pentaho Data Integration (PDI) mostra-se muito versátil na integração com diversas bases de dados, e com isso, ganhando cada vez mais espaço no mercado.

Espero ter sido claro e ajudado de alguma forma. Caso tenha alguma dúvida, comente abaixo e assim que possível responderei.

Obrigado pelo seu tempo, e fique bem!

Fontes:
https://datamansamxiao.wordpress.com/2019/09/11/using-pentaho-data-integration-pdi-to-connect-google-sheets/
http://blogs.ambientelivre.com.br/marcio/acessando-documentos-no-drive-da-google-com-pentaho-data-integration/