Présentation de l'etl open source Apache Hop

Présentation
Apache Hop est un outil d’intégration et de traitement de données open source né en 2022 d’un fork de Pentaho Data Integration (PDI) 8.2 Community, réalisé par l’un des créateurs originaux de PDI. Distribué sous licence Apache, ce projet est né du constat d’un manque d’évolution significative dans la version communautaire de PDI.
Aujourd’hui, Apache Hop fait partie des derniers ETL low-code gratuits adaptés à un usage en production. En comparaison, la version communautaire de PDI est abandonnée par Hitachi, et Talend Open Studio n’est plus disponible depuis début 2024. Knine pourrait être une alternative interessante. Apache Nifi pourrait également être un bon candidat mais la mise à œuvre me semble beaucoup plus complexe et son positionnement est moins focalisé sur la partie transformation que sur la partie ingestion ou load en batch ou temps réel ! Il en existe sans doute d'autres que je ne connais pas. J'ai récemment découvert Alteryx qui n 'est pas une solution open source, ni gratuite mais le concept pour la partie transformation de données me semble très similaire.
À noter qu’une version entreprise de Apache Hop, nommée Putki, est proposée par Know.bi. Selon le plan choisi, des plugins supplémentaires sont disponibles et un support technique est disponible.
Apache Hop bénéficie d’un développement très actif sous l’égide de la fondation Apache. De nouvelles versions sont publiées tous les deux à trois mois, et la communauté est très active, que ce soit via Slack ou GitHub. Le projet étant open source, chacun peut contribuer en proposant des mises à jours, des corrections de bugs ou encore des nouvelles fonctionnalités.
PDI le grand frère
Les utilisateurs de PDI (kette/spoon) retrouveront rapidement leurs repères et ne seront pas dépaysés. L’interface d’Apache Hop est très ressemblante, tout comme son fonctionnement général. La plupart des composants de PDI ont été conservés, à l’exception de certains éléments spécifiques comme le noeud pour générer des rapports Pentaho.
Hop se distingue toutefois par une réécriture complète du code en Java 17+, une modernisation des bibliothèques, une interface revue en profondeur et une approche orientée projet, compatible nativement avec les pratiques modernes DevOps. Tous les composants d’Apache Hop sont désormais modulaires, ce qui permet d’optimiser la taille du package et le rendre plus ou moins légé.
Un outil de migration (disponible en interface graphique ou en ligne de commande) facilite la migration depuis PDI. Bien qu’il subsiste quelques bugs mineurs. la migration se fait très bien. C’est aussi une excellente occasion de repenser et d’optimiser ses workflows existants.

Exécution
Interface graphique (GUI)
L’interface de développement est disponible en client lourd Java compatible avec Windows, macOS et Linux. Une version web est également disponible via Docker.
Ligne de commande (CLI)
Les workflows et pipelines peuvent être exécutés avec la commande hop-run, idéale pour une exécution distante via SSH par exemple.
Serveur
Apache Hop propose un serveur headless permettant l’exécution des tâches via une API REST. Une interface web rudimentaire permet de suivre les jobs en cours ou terminés.
Docker & Kubernetes
Chaque version stable d’Apache Hop est accompagnée d’une image Docker officielle. L’interface de développement et le serveur sont également disponibles sous forme de containers. Des Helm charts permettent un déploiement facile dans un cluster Kubernetes.
Distribuée
Les workflows et pipelines Apache Hop peuvent être exécutés sur des moteurs distribués tels que :
- Apache Beam (via Google Dataflow)
- Apache Spark
- Apache Flink
Cela en fait un outil cloud-ready, capable de s’adapter à une grande variété de scénarios en production.
Concepts

Pipelines
Les pipelines sont le cœur d’Apache Hop. C’est là que s’effectuent les opérations sur nos données (extraction, transformation, chargement).
Les sources et cibles de données peuvent être des fichiers (CSV, Excel, Parquet, SAS…), des bases de données, ou des APIs.
Une large palette de nœuds de transformation est disponible : jointures, filtres, agrégations, transpositions, dédoublonnage, calculs, scripts, etc.
Apache Hop est compatible avec la plupart des bases SQL, mais aussi avec des bases NoSQL, des bases Graphs comme Neo4j ou Memgraph. À ce jour, 45 connecteurs sont disponibles, ainsi qu’un connecteur générique avec support JDBC pour les bases non listées.


Workflows
Les workflows orchestrent l'exécution de pipelines/ tâches (en série ou en parallèle), avec gestion des erreurs, conditions et paramètres. Ils permettent également de manipuler des fichiers, envoyer des emails, vérifier la disponibilité de services web ou de bases de données, etc...

Développement
Le développement s'effectue de manière visuelle grâce à une interface en glisser-déposer sur l'espace de travail. Des composants prêts à l'emploi permettent d'orchestrer rapidement des flux de données, tandis que des nœuds de type "script" ou "code" sont disponibles pour gérer des traitements spécifiques ou implémenter des logiques plus complexes lorsque cela est nécessaire.
DevOps / DataOps / Git
Apache Hop repose sur un système de gestion des métadonnées structuré. Tous les fichiers sont enregistrés au format XML ou JSON, ce qui facilite leur intégration dans des workflows Cicd.
Hop intègre nativement Git dans son interface de développement pour le versionnement. Toutefois, le support SSL n’est pas encore pleinement fonctionnel dans l’interface. Il faut utiliser un client Git externe (CLI ou GUI type github desktop) pour push ou pull les modifications (uniquement dans ce cas).

Forces
- Projet vivant et actif, avec des mises à jour fréquentes. (Roadmap)
- Communauté accessible et contributive (Slack, GitHub).
- Documentation complète et centralisée : https://hop.apache.org/manual/latest/getting-started/
- Fonctionne sous Windows, Mac et Linux.
- Fichiers de configuration lisibles (XML/JSON) → idéal pour les pratiques DevOps.
- Capable de traiter de grands volumes de données.
- Interface moderne, évolutive et compréhensible par un humain.
- Cloud ready / DevOps ready

Résumé
Apache Hop est un projet jeune mais paradoxalement très mature puisqu'il est construit sur des bases solides.
Il offre un large éventail de cas d’usages :
- Dispath de données entre applications métiers.
- Ingestion de données brutes (Api, fichiers, Sql, ...)
- Construction de Data-Warehouses, Datamarts.
- Echanges de données avec des clients ou partenaires…
- Reverse ETL vers les apps métiers.
- et autres !
C’est une solution fiable, robuste, versatile et accessible, particulièrement adapté aux entreprises souhaitant industrialiser leurs flux de données sans coûts logiciels élevés.