blob: 9cbf6c9d91ac844217af0bbe0072342efd8c112c [file] [log] [blame]
[[HopvsKettle]]
:imagesdir: ../assets/images
= Hop vs Kettle - A Quick Comparison
== Concepts
[width=90%", cols="6,2,2", options="header"]
|===
|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
[width="90%", cols="2,3,3", options="header"]
|===
|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
[width="90%", cols="70%,15%,15%", options="header"]
|===
|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
[width="90%", cols="70%,15%,15%", options="header"]
|===
|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 (in progress)
|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
|===