LoginSignup
3
5

More than 1 year has passed since last update.

[Apache Hop] CSVを読みこみ変換処理してみた

Last updated at Posted at 2022-05-01

対象者

  • Apache Hop (データ統合プラットフォーム) を試してみたい方。
  • データ収集、変換処理を試してみたい方。
  • CSVのファイルを変換処理してみたい方。

前提環境

  • Docker Desktopをインストールしている
  • Apache Hopを準備している

手順の流れ

  • 読み込むCSVファイルを準備する
  • CVSを読み込んで、変換して出力する変換を作成する
  • 動作を確認する

読み込むCSVファイルを準備する

https://www.oreilly.co.jp/catalog/
O'Reilly の書籍リストを元にCSVファイルを作成します。このデータを例として取り上げます。
image.png

CVSを読み込んで、変換して出力する変換を作成する

image.png
+のボタンをクリックして、Piplineを作成します。

image.png
パイプラインは、データの読み取り、処理、または書き込みを行う一連の変換処理の流れを定義します。

以下のような流れを定義するとします。
image.png

  • CSV file Input
    パイプラインの画面のあいてるところでクリックすると、以下のように部品を選択する画面が表示されます。
    Searchにcsvを入力して貼り付けたい部品を検索して選択します。
    image.png

部品の名前のエリアをクリックすると以下の定義画面が表示されます。自分の環境に合わせて定義します。
image.png
filename:ファイルのパスを定義します。
File encoding: Shift-JISを選択します。環境にあわせて定義します。
Get Fieldsボタンで読み込む列一覧を取得します。
Previewボタンによりプレビューすることができます。
image.png

  • Filter rows
    上記のようにFilter rowsの部品を探して、配置します。
    CSV file Inputを選択する時に Shiftを押しながらFilter rowsまで引っ張り配線します。
    image.png

定義は、以下のように定義してTitleに入門が含まれるものを指定します。
image.png

  • Text file ouput
    上記のようにText file ouptの部品を探して、配置します。
    Filter rows を選択する時に Shiftを押しながらText file ouputまで引っ張り配線します。
    以下のように定義して、結果をファイルに出力するようにします。
    image.png
    Filename:出力するファイルパスを指定します。
    Extention:csvを指定します。

image.png
Separetor: ,(カンマ)を指定
Encoding:日本語環境のためShift_JISを指定します。

動作を確認する

image.png
再生ボタンをクリックして変換を実行します。

image.png

Run Optionsの画面がでてくるので、Pipeline run configurationでlocalを指定して実行します。
Text file oputで指定した出力先に、結果が出力されることを確認します。

image.png

まとめ

CSV入力を読み込み、フィルタしてファイルに出力する処理を実装しました。今回は入門編としてまずはCSVを取り扱いました。

入力、出力として、他にも多くのデータソースを対応しているので、他の形式のファイル(JSONなど)、MongoDB、RDBを入力、出力にするなどすることができます。他の部品についてはApache HopのWebサイトで一覧や部品の仕様を確認すると良いと思います。

参考

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5