Hop Tools

Hop contains a number of tools that are optimized for the various tasks Hop developers and administrators need to perform.

Hop GUI

Hop Gui is the visual IDE where Hop data developers create, test, run and manage the life cycle for workflows and pipelines. In addition to functionality for development and life cycle management, Hop Gui contains tools and perspectives to manage projects and environments, to search and manage metadata, to manage and version control a large variety of files and to explore logging in a Neo4j graph.

Hop Gui is designed to be platform independent.
Hop Web is a version of Hop Gui that works on browsers and mobile devices.

The command below starts Hop GUI for your operating system.

 

  • Windows

  • Linux, macOS

hop-gui.bat
./hop-gui.sh

Expected output: Hop Gui starts.

Hop Conf

Hop Conf is a command line tool to manage various aspects of your Hop configuration: projects, environments, cloud configuration and more

The example hop-conf command below lists your available projects.

 

  • Windows

  • Linux, macOS

hop-conf.bat -pl

Expected output:

C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath lib\core\*;lib\beam\*;lib\swt\win64\* -Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y org.apache.hop.config.HopConfig  -pl
===[Starting HopConfig]=========================================================
Projects:
  default : config/projects/default
    Configuration file: file:\C:\<YOUR_PATH>\hop\config\projects\default\project-config.json
  samples : config/projects/samples
    Parent project: default
    Configuration file: file:\C:\<YOUR_PATH>\hop\config\projects\samples\project-config.json
./hop-conf.sh -pl

Expected output:

Projects:
  default : config/projects/default
    Configuration file: file:<YOUR_PATH>/hop/config/projects/default/project-config.json
  samples : config/projects/samples
    Parent project: default
    Configuration file: file:<YOUR_PATH>/hop/config/projects/samples/project-config.json

See the Hop Tools → Hop Conf documentation for more information.

Hop Encrypt

Hop Encrypt is a command line tool that obfuscates or encrypts a plain text password for use in XML, password or metadata files. Make sure to also copy the password encryption prefix to indicate the obfuscated nature of the password. Hop will then be able to make the distinction between regular plain text passwords and obfuscated ones.

 

The example below prints the encrypted Hop password mypassword.

 

  • Windows

  • Linux, macOS

hop-encrypt.bat -hop mypassword

Expected output:

===[Environment Settings - hop-encrypt.bat]====================================
Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
HOP_OPTIONS=-Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=GUI
Command to start Hop will be:
"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath lib\core\*;lib\beam\*;lib\swt\win64\* -Djava.library.path=lib\core;lib\beam -Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=GUI org.apache.hop.core.encryption.Encr  -hop mypassword
===[Starting HopEncrypt]=========================================================
Encrypted 2be98afc86aa79f9dbb18bd63c99dbdde
./hop-encrypt.sh -hop mypassword

Expected output:

Encrypted 2be98afc86aa79f9dbb18bd63c99dbdde

See the Hop Tools → Hop Encrypt documentation for more information.

Hop Run

Hop Run is a command line tool to run workflows and pipelines, with options to (list or) specify projects, environments, properties and run configurations.

The example below runs the switch-case-basic.hpl pipeline in the samples project (-j) with the local native pipeline run configuration (-r).

 

  • Windows

  • Linux, macOS

hop-run.bat -r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl

Expected output:

C:\<YOUR_PATH>\hop>echo off
===[Environment Settings - hop-run.bat]===================================
Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
HOP_OPTIONS="-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=Run -DHOP_AUTO_CREATE_CONFIG=Y
Consolidated parameters to pass to HopRun are
-r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl
Command to start HopRun will be:
"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath lib\core\*;lib\beam\*;lib\swt\win64\*
-Djava.library.path=lib\core;lib\beam "-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit
-DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=Run -DHOP_AUTO_CREATE_CONFIG=Y org.apache.hop.run.HopRun
-r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl
===[Starting HopRun]=========================================================
2022/12/16 07:07:47 - HopRun - Enabling project 'samples'
2022/12/16 07:07:47 - HopRun - Starting pipeline: config/projects/samples/transforms/switch-case-basic.hpl
2022/12/16 07:07:47 - switch-case-basic - Executing this pipeline using the Local Pipeline Engine with run configuration 'local'
2022/12/16 07:07:47 - switch-case-basic - Execution started for pipeline [switch-case-basic]
2022/12/16 07:07:47 - Test Data.0 - Finished processing (I=0, O=0, R=0, W=5, U=0, E=0)
2022/12/16 07:07:47 - Switch id.0 - Finished processing (I=0, O=0, R=5, W=5, U=0, E=0)
2022/12/16 07:07:47 - Output 2.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 07:07:47 - Output 1.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 07:07:47 - Output 4.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 07:07:47 - Output default.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 07:07:47 - Output 3.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 07:07:47 - switch-case-basic - Pipeline duration : 0.435 seconds [  0.435" ]
./hop-run.sh -r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl

Expected output:

2022/12/16 06:59:03 - HopRun - Enabling project 'samples'
2022/12/16 06:59:03 - HopRun - Relative path filename specified: config/projects/samples//transforms/switch-case-basic.hpl
2022/12/16 06:59:03 - HopRun - Starting pipeline: config/projects/samples//transforms/switch-case-basic.hpl
2022/12/16 06:59:03 - switch-case-basic - Executing this pipeline using the Local Pipeline Engine with run configuration 'local'
2022/12/16 06:59:03 - switch-case-basic - Execution started for pipeline [switch-case-basic]
2022/12/16 06:59:04 - Test Data.0 - Finished processing (I=0, O=0, R=0, W=5, U=0, E=0)
2022/12/16 06:59:04 - Switch id.0 - Finished processing (I=0, O=0, R=5, W=5, U=0, E=0)
2022/12/16 06:59:04 - Output default.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 06:59:04 - Output 1.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 06:59:04 - Output 4.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 06:59:04 - Output 3.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 06:59:04 - Output 2.0 - Finished processing (I=0, O=0, R=1, W=1, U=0, E=0)
2022/12/16 06:59:04 - switch-case-basic - Pipeline duration : 0.668 seconds [  0.668" ]

Hop Search is a command line tool to search all metadata available in a specific project or environment.

The example below searches in the samples project -j for switch-case.

 

  • Windows

  • Linux, macOS

hop-search.bat -j samples -x switch-case

Expected output:

C:\<YOUR_PATH>\hop>echo off
===[Environment Settings - hop-search.bat]===================================
Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=Search
-DHOP_AUTO_CREATE_CONFIG=Y
Command to start Hop will be:
"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath lib\core\*;lib\beam\*;lib\swt\win64\*
-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows
-DHOP_PLATFORM_RUNTIME=Search -DHOP_AUTO_CREATE_CONFIG=Y org.apache.hop.config.HopConfig  -j samples -x switch-case
===[Starting HopConfig]=========================================================
Enabling project 'samples'
Searching in project : samples
Searching for [switch-case]  Case sensitive? true  Regular expression? true
Searching in location : Project samples
-----------------------------------------------------------------------------------
file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : null(switch-case) : matching property value: switch-case    file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : switch-case(switch-case) : matching property value: switch-case
file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : switch-case(switch-case) : pipeline transform property : filePrefix
./hop-search.sh -j samples -x switch-case

Expected output:

Enabling project 'samples'
Searching in project : samples
Searching for [switch-case]  Case sensitive? true  Regular expression? true
Searching in location : Project samples
-----------------------------------------------------------------------------------
file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : null(switch-case) : matching property value: switch-case
file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : switch-case(switch-case) : matching property value: switch-case
file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl : switch-case(switch-case) : pipeline transform property : filePrefix

See the Hop Tools → Hop Search documentation for more information.

Hop Server

Hop Server is a web service interface to manage and run workflows and pipelines.

The example command below starts the most basic server on your machine localhost on port 8081.

 

  • Windows

  • Linux, macOS

hop-server.bat localhost 8081

Expected output:

C:\<YOUR_PATH\hop>echo off
===[Environment Settings - hop-server.bat]====================================
Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=GUI -DHOP_AUTO_CREATE_CONFIG=Y
Command to start Hop will be:
"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath lib\core\*;lib\beam\*;lib\swt\win64\*
-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows
-DHOP_PLATFORM_RUNTIME=GUI -DHOP_AUTO_CREATE_CONFIG=Y org.apache.hop.www.HopServer  localhost 8081
===[Starting HopServer]=========================================================
2022/12/16 07:33:44 - HopServer - Enabling project 'default'
2022/12/16 07:33:44 - HopServer - Installing timer to purge stale objects after 1440 minutes.
2022/12/16 07:33:44 - HopServer - Created listener for webserver @ address : localhost:8081

Your Hop Server is available at http://localhost:8081, log on with the default username cluster, password cluster.

Hit CTRL-C to stop the server.

./hop-server.sh localhost 8081

Expected output:

2022/12/16 07:20:19 - HopServer - Enabling project 'default'
2022/12/16 07:20:19 - HopServer - Installing timer to purge stale objects after 1440 minutes.
2022/12/16 07:20:19 - HopServer - Created listener for webserver @ address : localhost:8081

Your Hop Server is available at http://localhost:8081, log on with the default username cluster, password cluster.

Hit CTRL-C to stop the server.

Read more about Hop Server

Hop Import

Hop Import is a command line tool to import PDI/Kettle jobs and transformations into Apache Hop.

Hop Import does a lot more than just a code conversion from jobs to workflows and transformations to pipelines: database connections are converted to Apache Hop rdbms connections, variables are parsed and imported, and everything is bundled into a full Apache Hop project.

 

The example command below prints the hop-import help. Check the Import Kettle (PDI) Projects in Apache Hop docs for more information.

 

  • Windows

  • Linux, macOS

hop-import.bat
./hop-import.sh

Hop Translator

Hop Translator is a gui tool that allows non-technical users to translate Hop in their native language.

check the Translation Contribution Guide if you want to find out more about translating Hop.

 

The example below starts the Hop Translator tool with the provided translator.xml file. The second parameter is the path to your local version of the Apache Hop source code.

  • Windows

  • Linux, macOS

hop-translator.bat translator.xml <YOUR_PATH_TO_THE_HOP_CODE>

Expected output: the Hop Translator tool starts.

./hop-translator.sh translator.xml <YOUR_PATH_TO_THE_HOP_CODE>

Expected output: the Hop Translator tool starts.