対象者
- Apache Hop (データ統合プラットフォーム) を試してみたい方。
- データ収集、変換処理を試してみたい方。
- CSVのファイルを変換処理してみたい方。
前提環境
- Docker Desktopをインストールしている
- Apache Hopを準備している
手順の流れ
- 読み込むCSVファイルを準備する
- CVSを読み込んで、変換して出力する変換を作成する
- 動作を確認する
読み込むCSVファイルを準備する
https://www.oreilly.co.jp/catalog/
O'Reilly の書籍リストを元にCSVファイルを作成します。このデータを例として取り上げます。
CVSを読み込んで、変換して出力する変換を作成する
パイプラインは、データの読み取り、処理、または書き込みを行う一連の変換処理の流れを定義します。
部品の名前のエリアをクリックすると以下の定義画面が表示されます。自分の環境に合わせて定義します。
filename:ファイルのパスを定義します。
File encoding: Shift-JISを選択します。環境にあわせて定義します。
Get Fieldsボタンで読み込む列一覧を取得します。
Previewボタンによりプレビューすることができます。
- Filter rows
上記のようにFilter rowsの部品を探して、配置します。
CSV file Inputを選択する時に Shiftを押しながらFilter rowsまで引っ張り配線します。
定義は、以下のように定義してTitleに入門が含まれるものを指定します。
- Text file ouput
上記のようにText file ouptの部品を探して、配置します。
Filter rows を選択する時に Shiftを押しながらText file ouputまで引っ張り配線します。
以下のように定義して、結果をファイルに出力するようにします。
Filename:出力するファイルパスを指定します。
Extention:csvを指定します。
Separetor: ,(カンマ)を指定
Encoding:日本語環境のためShift_JISを指定します。
動作を確認する
Run Optionsの画面がでてくるので、Pipeline run configurationでlocalを指定して実行します。
Text file oputで指定した出力先に、結果が出力されることを確認します。
まとめ
CSV入力を読み込み、フィルタしてファイルに出力する処理を実装しました。今回は入門編としてまずはCSVを取り扱いました。
入力、出力として、他にも多くのデータソースを対応しているので、他の形式のファイル(JSONなど)、MongoDB、RDBを入力、出力にするなどすることができます。他の部品についてはApache HopのWebサイトで一覧や部品の仕様を確認すると良いと思います。
参考