0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pentaho SpoonのETL開発効率を向上させる裏技紹介

0
Last updated at Posted at 2026-03-31

はじめに

本記事では、PentahoのETL機能であるPDIのETL開発ツール(以下、Spoon)のETL開発効率を向上させる裏技を紹介します。
熟練の開発者は当たり前に利用する技ですが、知らないと開発効率が著しく落ちる場合もあるので、この機会にぜひ覚えてみてください!

前提環境

今回使用した環境は以下です。

  • Pentaho 10.2

① フィールドの設定にExcelを使う

テキストファイル入力ステップの[フィールド]タブのように、フィールドの設定などを表で設定するような項目は、設定する行数が膨大なケースでは、手動で入力するには大きな手間がかかります。また、テーブル設計書の内容をそのまま入力するケースも、手動では入力ミスなども発生します。そこで、設定をExcelを用いて効率化する方法を紹介します。

image.png

  1. コピーしたい行を選択し、右クリックで[選択した行をコピー]を選択します。(Ctrl+Cでも可)
    image.png

  2. Excelにペーストするとこのように設定を貼り付けることができます。
    image.png

  3. 2.でペーストした設定の書式に習って、Pentahoの設定項目をExcel上で作成します。この際、フィル機能や関数を用いることで、機械的に設定を作成できます。また、テーブル設計書などを用いる場合も同様に、Excel上に設計書の内容を集約して設定を作成します。
    image.png

  4. 作成した設定を選択してコピーします。この際、実際に設定したい項目(下記の例では2行目以降)よりも余分に上1行分の範囲を選択します。
    image.png

  5. Pentaho上の設定を何も入力していない状態にし、右クリックで[行を貼り付け]を選択します。(Ctrl+Vでも可)
    image.png

② フィールドの設定値を他のフィールドに一括でコピーする

フィールドの設定などを表で設定するような項目で、複数行で同じ設定を入力したい場合、設定値を一括でコピーすることができます。

  1. 一括設定したい値で右クリックし、[コピーした値をすべての行に展開]を選択します。
    image.png

  2. 選択した列について、1.で選択した値が一括で設定されます。
    image.png

③ 各ステップで処理されたデータをプレビューする

Spoonでは、ステップ毎に各ステップで処理されたデータの一部をプレビューすることができます。Spoonでは、ETL開発中にその場でデバッグ実行できるため、これらの機能を用いることで、開発と確認のサイクルを迅速に回すことができます。

  1. 適当なデータ変換を作成します。
    image.png

  2. データ変換をSpoonでデバッグ実行します。
    image.png

  3. 下の実行結果の内、[データをプレビュー]をクリックして、各部品の処理結果のデータをプレビューします。下記の例の場合、入力ステップおよび出力ステップはそれぞれ入出力したデータを確認でき、計算ステップおよび列選択ステップは当該ステップでの処理後のデータを確認できます。
    image.png
    image.png
    image.png
    image.png

プレビューする行数は、Spoon上部の[ツール]-[オプション]-[一般]タブ-[プレビューのデフォルトレコード数]から変更できます。

プレビューするデータのカラム数や行数、表示する値のサイズが大きい場合、プレビューまでに時間を要する場合があり、これにより、操作をスムーズにできなくなる場合があります。その場合は、別のタブを選択することでプレビュー処理が発生せず、操作がスムーズにできるようになります。

④ ステップ間のホップの活性・非活性機能を使う

Spoonでは、ステップ間のホップ(ステップとステップを繋ぐ矢印)の活性・非活性を切り替えできます。非活性となったホップは入力ステップから出力ステップへのデータの受け渡しがされず、出力ステップの処理も基本的に実行されません。

  1. 以下のいずれかの操作で、対象のホップを非活性にします。
    ・対象のホップを左クリック
    ・対象のホップ上で右クリックし、[結合無効]を選択する。
    image.png

  2. データ変換を実行すると、非活性にしたホップの出力ステップの処理が実行されていないことが確認できます。
    image.png

対象のホップ上で右クリックし、[以降の結合を有効/無効にする]を選択することで、フローとして一連に繋がったホップを一括で活性/非活性化できます。

⑤ ステップ群をコピー&ペーストする

Spoonでは、単一のステップだけではなく、ステップ群をコピー&ペーストすることができるため、処理の再利用や繰り返しの処理の実装を簡単にできます。

  1. コピーしたいステップ群を範囲選択します。Ctrlを押しながら選択対象のステップをクリックすることでもステップを複数選択できます。
    image.png

  2. 選択したいずれかのステップで右クリックし、[コピー]を選択します。Ctrl+Cでもコピーできます。
    image.png

  3. キャンバスの空白部分で右クリックし、[貼り付け]を選択します。Ctrl+Vでも貼り付けできます。
    image.png

  4. ステップ群をコピー&ペーストできたことが確認できます。
    image.png

コピーしたステップ群は異なるデータ変換にも貼り付けすることができます。これによりテンプレートとなるデータ変換を作成し、そこから必要な部分のみを新規データ変換開発時に再利用するなどの用途にも活用できます。

⑥ ステップのコピー数を変更する

Spoonでは、基本的に1ステップ1CPUで処理が実行されますが、CPUネックにより性能が悪い場合、ステップのコピー数(処理の多重度)を変更することで、CPUネックを解消できる場合があります。

  1. コピー数を変更したいステップで右クリックし、[コピー数の変更]を選択します。
    image.png

  2. コピー数を入力し、[OK]ボタンをクリックします。例では4を入力しています。
    image.png

  3. 対象ステップの左上にコピー数(例ではx4)が表示されることを確認します。
    image.png
    コピー数変更後の上記のデータ変換は以下のデータ変換と同等に処理されます。
    image.png

コピー数を変更した場合、入力ステップからのデータはレコード毎にコピーされた各ステップへ振り分けられ、各ステップで処理が完了次第に出力ステップへ送られるため、入力データの順序性が保存されません。順序をそのままにしたい場合は、あらかじめ順序の基準となるカラムを用意し、整列併合ステップでそのカラムをキーとしてソートする必要があります。
image.png

まとめ

今回はSpoonのETL開発効率を向上させる裏技を紹介しました。
スムーズに開発するためには必要不可欠な技なので、ぜひ実践で使ってみてください!

他社商品名、商標等の引用に関する表示

  • HITACHIは,株式会社 日立製作所の商標または登録商標です。
  • Excel および Microsoft は、マイクロソフトグループの企業の商標です。
  • Pentahoは、Hitachi Vantara LLCの商標または登録商標です。
  • その他記載の会社名,製品名などは,それぞれの会社の商標もしくは登録商標です。
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?