Conexões no Pentaho – Funcionalidades e como criar?

Conexões no Pentaho

E ai galera, tudo bom?

Hoje venho com um post simples. Vou falar sobre como são as conexões no Pentaho e como criar uma conexão. Muitas vezes as pessoas acabam criando a mesma conexão várias vezes em vez de reaproveitar para outros projetos. Vocês vão ver que isso é possível no Pentaho!

Atenção: Todas as funcionalidades aqui expostas são feitas utilizando o Pentaho Community Edition (a versão open source)

Primeiramente, conexões são objetos que utilizamos para poder comunicar o Pentaho com outros programas, como banco de dados por exemplo. Dentro do Pentaho podemos criar conexões para uma infinidade de programas, como SQL Server, PostgreSQL, Oracle, Redshift, Google Big Query e vários outros.

Entendido o que são conexões, agora vamos para as funcionalidades relacionadas a conexão no Pentaho:

Diversos tipos de conexões

Dentro do Pentaho podemos abrir conexões com praticamente qualquer coisa, desde que a mesma utilize driver de conexão JDBC ou ODBC. Para isso temos alguns templates pré configurados na hora de criar a conexão ou podemos também utilizar uma conexão genérica.

Repositório de conexões

Uma das funcionalidades que mais gosto do Pentaho é o repositório. Nele podemos guardar todas nossas jobs, transformações e conexões e gerenciar os acessos. Falando especificamente das conexões, podemos criar uma conexão no repositório e deixar disponível para todos que tem acesso ao repositório utilizarem ou limitar a algumas pessoas ou grupos. Sendo assim não precisamos ficar criando toda vez a conexão, basta conectar no repositório e utilizar a que já foi criada para aquele servidor. Além disso temos também o nível de acesso para que você decida se o usuário pode apenas utilizar a conexão ou se ele pode alterar.

Toda esse gerenciamento oferecido é extremamente útil para manter uma governança do ambiente, porque podemos garantir que apenas os usuários que possuem a credencial necessária possam conectar e desenvolver ETLs para determinados ambientes.

Lembrando que essa funcionalidade só é possível caso você esteja utilizando o repositório do Pentaho no Pentaho Server!

Conexões dinâmicas

No Pentaho podemos desenvolver conexões dinâmicas, ou seja, conexões que eu informe parâmetros durante a execução. Isso é possível graças o modelo de variável do Pentaho, onde posso informar uma variável em praticamente qualquer campo dos steps do Pentaho. Posso substituir as informações fixas dos campos da conexão (como hostname, instância, database, porta e etc) por variáveis e passar essas informações via parâmetro na job ou transformação.

Isso é muito útil quando por exemplo temos conexões que seguem um padrão e muda apenas o servidor. Imagine que você trabalhe em uma empresa que tem 50 lojas espalhadas pelo Brasil e você vai desenvolver um ETL que agrupe os dados de todas essas lojas. Imagine se você precisar criar 50 conexões iguais, mudando apenas o hostname, instancia e porta? Seria muito trabalhoso. Utilizando variáveis nos campos, você pode criar um objeto de conexão genérico e informar via parâmetro sempre que for chamar uma transformação de uma unidade diferente. No fim temos 1 objeto chamado 50 vezes com parâmetros diferentes.

Bom expostas as principais funcionalidades de conexão, vamos agora aprender a criar uma conexão!

Como criar uma conexão no Pentaho?

Com o PDI aberto, temos 2 opções. Podemos iniciar a criação através de um step que possua campo de conexão (sempre tem um botão de New) como no Table Input do exemplo abaixo:

Criar uma nova conexão através do step Table Input

Ou podemos criar pelo menu View. Para isso basta ir na aba View e depois em Database connections e por fim clicar em New. Como na imagem abaixo:

Criar uma nova conexão através da aba View

Em ambas as formas vamos ser redirecionados para a tela de criação de nova conexão (imagem abaixo). Nesta tela precisamos informar todas as configurações da nossa nova conexão. Abaixo explico exatamente cada campo.

Tela de configuração de conexão

A conexão que vamos criar nesse exemplo é para um servidor SQL Server, então algumas configurações são específicas, porém serve de base para as demais.

Vamos entender o que é cada campo? Bora lá então:

  1. Connection name: esse campo é o nome que nossa conexão terá para identifica-la depois. Coloque algo que fique fácil de entender.
  2. Connection type: aqui devemos selecionar na lista qual o tipo de conexão que vamos fazer, com base nisso ele abre os campos daquela conexão (como uma espécie de template). Caso sua conexão não esteja na lista, selecione Generic Database. No nosso caso vamos selecionar MS SQL Server (Native).
  3. Access: aqui é o driver que você vai utilizar para a conexão. No nosso caso será o JDBC (baixe aqui o JDBC do SQL Server). OBS: para o JDBC ser reconhecido, você deve colocar na pasta do PDI, no caminho data-integration\lib. Depois reinicie o PDI.
  4. Host Name: nesse campo você deve informa o host name do servidor ou o IP. Nesse caso como o SQL Server que vou conectar está na minha máquina localmente, informarei o localhost.
  5. Database Name: aqui informaremos em qual database o Pentaho deve abrir a conexão.
  6. Instance Name: nesse campo devemos informar qual a instância do SQL Server devemos conectar. Caso não possua uma instância nomeada deixe em branco. OBS: instância é o nome depois da barra invertida, exemplo: MEUSERVIDOR\INSTANCIA.
  7. Port Number: aqui devemos informar qual a porta de conexão no SQL Server. A porta padrão do SQL Server é a 1433, porém caso você não saiba qual é pode informar -1 que nesse caso ele desconsidera a porta.
  8. Username: esse é o usuário do SQL que você irá utilizar para autenticar nessa conexão.
  9. Password: essa é a senha do usuário.
  10. Use integrated security: caso você queira utilizar o usuário do dominio conectado na máquina habilite essa opção. Com essa opção ativa o campo de Username e Password são desativados.

Agora com os campos preenchidos corretamente podemos testar a conexão. Para isso clique no botão Test (11º na figura acima). Caso esteja tudo configurado corretamente você deve receber uma mensagem de sucesso, semelhante a seguinte:

Mensagem de sucesso ao testar a conexão

Agora clique em OK para voltar a tela de conexão.

Para concluir a criação da conexão, basta clicar em OK (12º item na figura) e pronto. A conexão foi criada com sucesso, agora basta selecionar no step que deseja utilizar. Exemplo:

Conclusão

Como pudemos ver o Pentaho oferece diversas funcionalidades para as conexões, como gerenciamento, reaproveitamento e dinamismo. Além disso vimos como é simples criar e utilizar.

Espero que tenham gostado do post e caso tenham alguma dúvida ou sugestão deixem nos comentários! Até a próxima!