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 |