Apache Hop (Incubating) 1.0 Está Disponível

Após mais de dois anos de trabalho, a comunidade Apache Hop tem o prazer de anunciar a disponibilidade geral do Apache Hop (incubating) 1.0.

Esta versão 1.0 é o resultado de uma enorme quantidade de trabalho da comunidade Apache Hop.


Vamos dar uma olhada mais de perto no que Hop 1.0 traz:

  • Arquitetura de código, limpeza, refatoração
  • Hop GUI e um conjunto uniforme de ferramentas
  • Projetos e ambientes
  • Runtimes portáteis: projetar uma vez, executar em qualquer lugar
  • Teste unitário, de integração e regressão
  • Gerenciamento do ciclo de vida
  • Comunidade

ARQUITETURA DE CÓDIGO, LIMPEZA, REFATORAÇÃO

Desde que o Apache Hop começou a partir do código-base do Kettle (Pentaho Data Integration) no final de 2019, nenhuma pedra foi esquecida. Todas as dependências foram atualizadas, grandes partes da base de código existente foram removidas ou reescritas, literalmente nenhum arquivo foi deixado intocado.

O resultado de toda essa limpeza e refatoração é uma engine Hop limpa e bem arquitetada. Todas as funcionalidades não essenciais foram eliminadas e movidas para plug-ins. Hop agora suporta mais de vinte tipos de plug-ins, para um total de mais de 400 plug-ins.

Com essa arquitetura renovada, o Hop é capaz de processar dados em dispositivos IoT edge com petabytes de dados em streaming, batch ou cenários híbridos.

HOP GUI E UM CONJUNTO UNIFORME DE FERRAMENTAS

Hop Gui é o ambiente de desenvolvimento visual (IDE) onde os desenvolvedores de dados criam workflows e pipelines. Hop Gui foi escrito do zero e está disponível em todas as principais plataformas de desktop: Windows, Mac OS e Linux. O Hop Web fornece o Hop Gui completo no navegador.

A capacidade de projetar, executar, visualizar, depurar e manter workflows e pipelines de dados permite que os desenvolvedores Hop sejam mais produtivos do que jamais poderiam ser por meio de código “puro”.

Centenas de transforms e actions permitem que os desenvolvedores Hop criem soluções complexas para ler, processar e gravar dados de e para uma ampla variedade de plataformas. Isso inclui, mas não se limita a bancos de dados relacionais e NoSQL, plataformas de streaming, serviços em nuvem e muito mais.

Não há arquivos de configuração ocultos, todas as funcionalidades do Hop estão disponíveis através do Hop Gui. Alternativamente, todas as operações para executar, configurar, pesquisar etc. estão disponíveis por meio de um conjunto de ferramentas de linha de comando fáceis de usar.

PROJETOS E AMBIENTES

Os desenvolvedores de dados quase sempre trabalham em vários projetos simultaneamente e os executam em vários ambientes.


Projetos Hop podem ser facilmente gerenciados a partir da Hop Gui e da ferramenta de linha de comando hop-conf. Para cada projeto, uma série de ambientes podem ser definidos, cada um com uma finalidade específica (por exemplo, desenvolvimento, teste, CI / CD). Cada ambiente pode conter vários arquivos de configuração.


Alternar entre projetos e ambientes é rápido e fácil na lista suspensa do Hop Gui. No ambiente de servidor sem interface gráfica, as ferramentas de linha de comando Hop fornecem opções para criar, gerenciar ou especificar projetos e ambientes.

Essa separação estrita entre o código (metadados de um projeto) e a configuração (arquivos de ambiente) permite que Hop se integre perfeitamente com sistemas de controle de versão e sistemas de implantação (deploy). A perspectiva do explorador de arquivos do Hop permite que os desenvolvedores Hop gerenciem workflows, pipelines e outros arquivos de metadados no git diretamente, com opções para operações comuns como pull, push, commit, há até uma diferença visual entre as versões.

RUNTIMES PORTÁTEIS: PROJETAR UMA VEZ, EXECUTAR EM QUALQUER LUGAR

A configuração de runtime para workflows e pipelines no Hop foi projetada para ser o mais flexível possível. Um workflow ou pipeline é projetado no Hop Gui, mas pode ser executado no runtime que for mais adequado.


No Hop 1.0, os wokflows têm configuração de runtime para a engine do Hop nativa local e remota. Além do mecanismo nativo local e remoto, os pipelines também podem ser executados no Apache Spark, Apache Flink e Google Dataflow no Apache Beam.


Com runtimes portáteis, os desenvolvedores e engenheiros de dados do Hop projetam um workflow ou pipeline no Hop Gui e o implementam e executam no ambiente onde faz mais sentido. Isso dá aos projetos Hop a flexibilidade de seguir seus dados até o ambiente onde eles fazem mais sentido.

TESTE DE UNITÁRIO, INTEGRAÇÃO E REGRESSÃO

Hop fornece tudo que você precisa para lidar com erros em workflows e pipelines. No entanto, saber que seus projetos são executados sem erros não é garantia de que seus dados foram processados ​​exatamente da maneira que você deseja e espera.


Os desenvolvedores Hop podem não apenas projetar workflows e pipelines no Hop Gui, mas também podem adicionar testes unitários para verificar se um workflow ou pipeline processou os dados exatamente como esperado. Os testes unitários executam um pipeline para um conjunto de dados de entrada definido e comparam o resultado que foi produzido com um conjunto de dados esperado (golden). Se o resultado gerado corresponder ao conjunto de dados golden, o teste será bem-sucedido. Caso contrário, o teste falha.


Os testes unitários podem ser combinados com integração de nível mais alto e testes de regressão para garantir que todo um projeto ou sistema se comporte conforme o esperado.


Uma biblioteca de testes melhora significativamente a qualidade de um projeto. Na verdade, a equipe do projeto Hop come se retroalimenta: por meio de uma biblioteca crescente de testes unitários, regressão e integração, os desenvolvedores do Hop foram capazes de identificar e corrigir uma série de problemas que estavam na base de código por mais de uma década.

GERENCIAMENTO DE CICLO DE VIDA

Runtimes, projetos e ambientes portáteis, controle de versão integrado, teste unitário e muitas outras funcionalidades que vêm com o Hop 1.0 fornecem todas as ferramentas de que uma equipe de dados precisa para gerenciar seus projetos durante todo o ciclo de vida.


Essas ferramentas não apenas permitem que seu projeto seja desenvolvido, gerenciado, testado e implantado de acordo com as melhores práticas gerais de desenvolvimento de software, mas também permitem que projetos e equipes de dados sigam seus dados para as plataformas onde se encaixam melhor.


Os requisitos mudam, assim como os volumes de dados e as arquiteturas. Ter uma plataforma que permite que você e seu projeto evoluam com esse cenário em constante mudança é crucial em uma organização moderna baseada em dados. O Hop 1.0 oferece tudo que você precisa para fazer exatamente isso.

COMUNIDADE

Um dos principais pilares para se tornar um projeto (incubating) da Apache Software Foundation é a construção da comunidade.


Embora a equipe de Hop tenha trabalhado incansavelmente na construção da melhor orquestração de dados e plataforma de integração de dados que existe, a construção da comunidade tem sido igualmente importante. Construir a melhor plataforma do mundo é inútil sem que as pessoas a usem e fiquem entusiasmadas com o que podem fazer com essa plataforma.


Hop teve um grande crescimento na adoção pela comunidade desde que o projeto se juntou à incubadora da Apache Software Foundation em setembro de 2020. O Hop agora tem centenas de seguidores em várias contas de mídia social, bem mais de 200 pessoas estão registradas no chat do Hop. Grupos de usuários locais começaram no Brasil, Japão, Espanha, Itália e muito mais.


Ainda mais importante do que o software, a comunidade tem tudo a ver com Hop. Um caloroso agradecimento a todos que estiveram envolvidos com o Apache Hop (incubating) nos últimos dois anos. O Hop 1.0 não seria o grande lançamento que é sem cada um de vocês!