Parte das tarefas de um Engenheiro de Dados é criar ETL’s robustos, escaláveis e adaptáveis para o negócio.

Pensando nisso, decidi explorar essa nova ferramenta que surgiu no mercado desenvolvida pelos mesmos criadores do Pentaho, o Apache Hop. Nesse breve artigo, quero mostrar os passos iniciais que achei pertinentes de se tomar antes de utilizar a ferramenta.

Continuando o último post sobre essa ferramenta, hoje vamos explorar as possibilidades de uso.

Espero que os ajude, vamos ao artigo.

TELA INICIAL DO APACHE HOP: APRESENTAÇÃO.

Ao iniciarmos o Apache Hop, a primeira coisa que devemos fazer é criar o projeto e os ambientes. Isso vai garantir maior tranquilidade no desenvolvimento do ETL.

Essa é a tela inicial resumida do Apache Hop.

Tela inicial com os principais ambientes
Tela inicial com os principais ambientes.

Na imagem abaixo, mostro como criar um projeto e um ambiente:

Criando projeto e ambiente no Apache Hop.
Criando projeto e ambiente no Apache Hop.

  • Vermelho → opção de criar o projeto para o seu trabalho.
  • Azul →  opção de criar um ou vários ambientes para o seu projeto.

CRIANDO O PROJETO E AMBIENTE

Antes de criar a sessão do projeto, configure corretamente as variáveis de ambiente adicionando os diretórios que irá utilizar, bem como as conexões com banco de dados.

Lista de variáveis de ambiente no Apache Hop - criada de forma personalizada.
Lista de variáveis de ambiente no Apache Hop – criada de forma personalizada.

Clique no botão de adicionar projeto, e faça as configurações necessárias.

Essa é a configuração que eu criei para o exemplo:

Criando o projeto de trabalho no Apache Hop.
Criando o projeto de trabalho no Apache Hop.

  • Name → nome do projeto
  • Home folder → pasta padrão do projeto.
  • Configuration file → é o arquivo de configuração do projeto no formato JSON.
  • Metadata base folder → é a pasta que contém os metadados do projeto como, por exemplo, conexões com banco de dados.
  • Unit tests base path → ainda não descobri o uso, mas coloquei na pasta HOMEFOLDER do projeto.

Ao finalizar a criação, talvez seja necessário reiniciar o Hop para que as modificações entre em vigor.

Ao criar o projeto, vamos criar o ambiente, clicando no mesmo botão, mas com o nome do environment.

O único cuidado ao criar o ambiente, é atribuir ao projeto correto:

Criando ambiente e atribuindo para um projeto.
Criando ambiente e atribuindo para um projeto.

O interessante do Apache Hop é a possibilidade de ter diversos ambientes dentro de um único projeto.

Com o projeto e os ambientes criados, você pode criar seu primeiro workflow de transformação na ferramenta. 

Se na criação do projeto, você configurou as pastas corretas, ao clicar em salvar, ele automaticamente irá entender qual diretório está e mostrará as pastas disponíveis.

Salvando um workflow corretamente na pasta do projeto no Apache Hop.
Salvando um workflow corretamente na pasta do projeto no Apache Hop.

Escolha sua pasta e salve o arquivo no diretório final.

Arquivo salvo no Apache Hop.
Arquivo salvo no Apache Hop.

O mesmo procedimento pode ser replicado quando criar o seu pipeline. Não se esqueça que são estruturas separadas.

Metadata com Apache Hop exibindo as pastas do projeto.
Metadata com Apache Hop exibindo as pastas do projeto.

Todas essas informações se encontram na página de File explorer. 

METADADOS: CONEXÕES

Nesta área do Apache Hop, podemos armazenar diversas conexões para o projeto que estamos trabalhando e estas podem ser utilizadas por todas as transformações.

Metadata do Apache Hop.
Metadata do Apache Hop.

Ao finalizar a criação, basta fechar e ele perguntará se deseja salvar. Clique em “sim” e finalize o processo.

PLUGINS

Ainda que a ferramenta permita a instalação de plugins, não descobri como utilizar os disponíveis. Mas perceba que toda a documentação está lá.

Lista de plugins internos do Apache Hop.
Lista de plugins internos do Apache Hop.

Além do mais, os plugins são divididos em categorias como Action, Authenticator, Database e etc.

Pela documentação, esses plugins são os que a própria ferramenta possui e permite utilizar na interface gráfica. Futuramente devem liberar externos.

NEO4J CONEXÃO COM BANCO DE GRAFOS

Ao que parece a ferramenta possui uma integração nativa com o Neo4J, oferecendo uma opção exclusiva para criar conexão com o banco NoSQL.

Esse recurso é algo que irei explorar no futuro e testar seu funcionamento.

Conexão nativa com o Neo4J.
Conexão nativa com o Neo4J.

INTEGRAÇÃO COM SERVIÇOS DE NUVEM E ARMAZENAMENTO.

Dentro das opções do Hop, você pode configurar alguns parâmetros de conexão com provedores de cloud como Azure e Google. Aws também é possível.

Diferente do Pentaho, aqui é nativo e de fácil configuração. Basta passar o login e o arquivo JSON com o autenticador e conectar com os serivços.

Opções de conexão com serviços de Cloud no Apache Hop.
Opções de conexão com serviços de Cloud no Apache Hop.

CONSTRUÇÃO DOS ETL’s

Para construir ETL e Pipeline de orquestração é preciso criar um pipeline no seu projeto ou um workflow. 

O workflow é quem irá coordenar a execução dos pipelines e o gerenciamento de arquivos, caso os utilize buscando alguma fonte de armazenamento tipo lakehouse.

Aconselho a criar o projeto e o ambiente primeiro antes de criar os steps de transformação e orquestração.

Steps de construção de ETL no Apache Hop.
Steps de construção de ETL no Apache Hop.

CONCLUSÃO

Quis trazer a apresentação básica da ferramenta de ETL e como criar seu workspace de projeto e ambiente.

A ferramenta me parece bem completa e mais atualizada que o Pentaho, prometendo entregar muito mais qualidade e agilidade nas transformações.

Um  ponto de destaque para ela é a variedade de transformações e conectores presentes. Mostrando que está bem adaptada ao moderno ambiente de dados e suas exigências.

Agora é explorar a ferramenta e descobrir seu potencial de entrega.

OLÁ!

Se chegou até e gostou do artigo, não esqueça de deixar o seu like e compartilhar. Me ajude a alcançar mais pessoas!

Se tem alguma dúvida ou sugestão, deixe nos comentários, terei o prazer de interagir e trocar experiência.

Se quiser ficar atualizado dos artigos aqui no blog, assine abaixo!

Obrigado!