Hop vs Kettle - A Quick Comparison
Concepts
Terminology | Kettle | Hop |
---|---|---|
Parallel scalable data pipeline | Transformation | Pipeline |
An operation in a parallel pipeline | Step | Transform |
Sequential series of actions | Job | Workflow |
An action in a workflow | Job Entry | Action |
Shared metadata container | Metastore | Hop Metadata |
The graphical user interface | Spoon | Hop Gui |
Script to run data pipelines | Pan | Hop Run |
Script to run workflows | Kitchen | Hop Run |
Server for remote execution | Carte | Hop Server |
Script for configuration | - | Hop Config |
Configuration
Configuration | Kettle | Hop |
---|---|---|
System variables | ${KETTLE_HOME}/.kettle/kettle.properties | ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json |
GUI preferences (fonts, colors, preferences…) | ${KETTLE_HOME}/.kettle/kettle.properties | ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json |
Language choice | ${KETTLE_HOME}/.kettle/.languageChoice | ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json |
Shared objects | ${KETTLE_HOME}/.kettle/shared.xml | All stored in Hop shared metadata |
GUI usage information | ${KETTLE_HOME}/.kettle/kettle.properties | ${HOP_AUDIT_FOLDER}/<project>/ |
Shared metadata | ${PENTAHO_METASTORE_FOLDER} or ${HOME}/.pentaho/metastore | ${HOP_METADATA_FOLDER} or ${HOP_CONFIG_FOLDER}/metadata |
Environment/Project configurations | ${KETTLE_HOME}/.kettle/environment/metastore | ${HOP_CONFIG_FOLDER}/hop-config.json or ./config/hop-config.json |
Engines
Engine | Kettle | Hop |
---|---|---|
Unit Testing | Plugin | Yes |
Apache Spark Support | No (PDI EE only) | Yes (Beam) |
Apache Flink Support | No | Yes (Beam) |
Google Cloud DataFlow Support | No | Yes (Beam) |
Features
Feature | Kettle | Hop |
---|---|---|
Projects and Lifecycle Configuration | No | Yes |
Search Information in projects and configurations | No | Yes |
Configuration management through UI and command line | No | Yes |
Standardized shared metadata | No | Yes |
Pluggable runtime engines | No | Yes |
Advanced GUI features: memory, native zooom, … | No | Yes |
Metadata Injection | Yes | Yes (most transforms) |
Mapping (sub-transformation/pipeline | Yes | Yes(simplified) |
Web Interface | WebSpoon | HopWeb |
APL 2.0 license compliance | LGPL doubts regarding pentaho-metastore library | Yes |
Pluggable metadata objects | No | Yes |
GUI plugin architecture | XUL based (XML) | Java annotations |