Dive into Apache Hop

December 09, 2023

Apache Hop


Apache Hop は、Kettle 8.2.0.7からForkしたデータオーケストレーションツールです。

Apache Hopは、2021年12月にApacheのTLP(Top Level Project)になりましたので、incubatorの表記が無くなりました。 そのため、apache/incubator-hop-web は apache/hop-web に更新しました。

  • 1.2.0 から 2.0.0 に書き直しました。(June 24, 2022)
  • 2.0.1 に書き直しました。(July 29, 2022)
  • 2.1.0 に書き直しました。(November 28, 2022)
  • 2.6.0 に書き直しました。(November 11, 2023)
  • 2.7.0 に書き直しました。(December 09, 2023)

準備


以下の材料を用意します。

なお、今回の作業はmacOS Sonoma/Apple Siliconで行っています。

  1. PC
    • ターミナル (Terminal)
    • Docker Desktop
      • 2GBの空き容量(ちょっと大きめです)
  2. インターネット回線
    • ダウンロードするモジュールが大きいのでそれなりの回線

Apache Hop Web


参照する場合はこちらです。

https://hub.docker.com/r/apache/hop-web

docker pullは時間がかかります。

docker pull apache/hop-web:2.7.0

docker run します。

以前、hop-web:x.x.x で、my-hop-webを作成されていた場合はコンフリクトエラーになります。 ですので「名前を変更する」か「hop-webの古いのを削除する」処理が必要です。

docker run  \
 -p 8080:8080  \
 --name my-hop-web \
 apache/hop-web:2.7.0

ターミナルにはこのように表示されます。

(表示が多いので最後だけを書きました)

Hop web: selected theme is: light
HOP_CONFIG_FOLDER: /usr/local/tomcat/webapps/ROOT/config
HOP_AUDIT_FOLDER: /usr/local/tomcat/webapps/ROOT/audit
HOP_GUI_ZOOM_FACTOR: 1.0
08-Dec-2023 21:41:42.453 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [5,353] ms
08-Dec-2023 21:41:42.454 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
08-Dec-2023 21:41:42.465 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [5391] milliseconds

Hop Webを使ってみましょう


Hop Webを使ってみましょう。

http://localhost:8080/ui

Menu bar: File, Edit, Run, Tools, Help

Main toolbar: New, Open ... Project, Environment

Perspectives toolbar: Metadata, Files, Search, Plugin, Neo4j

Hop Web Start

Pipelineを作りましょう


New (+) をクリックします。

Select the item to create のウィンドウが表示されます。

Hop Web New

上の左にPipelineという表示がありますのでこれを選択します。

手のアイコンがある画面が表示されます。

Hop Web New Pipeline

画面をクリックしてみましょう。

Hop Web New Action

Generate rowsを選択します。画面にGenerate rowsが表示されます。

再度、画面をクリックして、Add Sequenceを選択します。

Genetate rows, Add sequence

次に、線を引きます。

Generate rowsを選択する時に Shiftを押しながらAdd Sequenceまで引っ張りましょう。

Genetate rows to Add sequence

では、試しに実行してみましょう。

左にある「▶︎(Start the execution of the pipeline)」をクリックすると保存が表示されます。

save_run_options.png save_file_has_changed.png save_file.png

保存を行った後に実行されます。

Start the execution of the pipeline

組み合わせるとこんなのも可能です


Hop Beam

Source: https://hop.apache.org/blog/2022/03/hop-1.2.0/


Profile picture

Written by Koji Annoura who lives and works in Fukuoka Japan. You should follow them on Twitter