2013年4月22日月曜日

初めてのPentaho Data Integration 4 良く使うStep

良く使うStepたち。 具体的な使い方はSampleやCommunity Siteを参照して下さい。
使用頻度は扱うデータと目的に大きく依存しますので参考程度にして下さい。
  • 入力
    • CSV input
      • 1ファイルの読み込み。
    • Text file input
      • 複数のファイルの読み込み
      • ファイル名に例えば*.txtなどの正規表現も使える
    •  Generate Rows
      • 空や定数の入力を作る
    • Get File Names
      • フォルダ内のファイル名を取得
      •  その後、フィルターを通してファイルを読み込んだりする事が多い
    • Data Grid
      • Generate Rowsと異なり、Row毎に異なる値を設定出来る
      • テストの時にダミーデータを作るのに便利
    • Table input
      • データベースからの読み込み
  • 出力
    • Table output
      • データベースへの書き込み
      • テーブルの入れ替えと追加だけ出来、変更は出来ない
    • Update
      • データベースへ変更だけが出来る
    • Insert / Update
      • データベースへ追加と変更が出来る
    • Delete
      •  データベースの削除
    • Text file output
      • ファイルへの書き込み
  • 変換
    • Select values
      • 残すフィールドの指定
      • 削除するフィールドの指定
      • フィールド名の変更、型変換
    • Calculator
      • プログラムを書かないのは良いのですが、機能が少ないのと冗長になるので余り使っていません。 Modified Java Script Valueを代わりに使います。 
    • Replace in string
      • 文字列の置き換え
      • 1フィールドの置き換えだけの場合に使います。 複数の処理になるとModified Java Script Valueを使う事が多いです。
    • Row normalizer
      • 指定行を列に変換する。
      • 使い方が難しいので別に説明するかも知れません。
    • Row denormalizer
      •  複数の列を行に変換する
      • 使い方が難しいので別に説明するかも知れません。
    • Sort rows
      • 並べ替え
      • 良く使います
  • ユーティリティ
    •  Write to log
      • デバッグに重要ですので出力しましょう
    • Mail
      • e-mailを送る
  •  フロー
    • Abort
      • エラーや異常値が見つかったら中断したりする時に使う
    •  Append streams
      • 1つの入力の後に別の入力を繋げて出力
    •  Dummy (do nothing)
      • デバッグ時にプレビュー用に追加する事もある
      • 複数の入力を順序を気にせず繋げる場合にも使う
    • Filter rows
      • そのままフィルターです。 非常に良く使います。
    • Java Filter
      • 分岐条件をJava Expressionで書く事が出来る
      • 便利そうですが使った事がありません
    • Switch / Case
      • 条件によって複数の分岐先を指定
      • 余り使う機会が無い
  • スクリプト
    • Modified Java Script
      • Javascriptを使って色々な処理が出来る
      • 新しい列の作成、文字列の切り出し、計算、型変換など
      • 使いすぎるとGUIベースのPentahoの意味が無いとの批判も、、、
    • Execute SQL script
      • 入力を元にSQLを実行
      • 入力をWhere句の条件に入れてDeleteする場合に使ったりします
  • ルックアップ
    • Stream lookup
      • フィールドの値が同じ場合に「ステップ名」のフィールドを取得
    • Database lookup
      • 入力を元にデータベースに問い合わせてフィールドを取得
      • 毎回データベースに問い合わせるのでパフォーマンスが悪い。 大量のデータを処理するなら別にTable inputとStream lookupを使った方が良い。
    • Database join
      • Database lookupは表またはビューに対して単純なlookupしか出来ないが、joinでは複雑なSQLを書く事が出来る
  • 結合
    • Merge Join
      • SQLで言う所のInner Join, Outer Join
    • Merge Rows (diff)
      • 二つの入力の差を出力
  • 統計
    • Group by
      • ユニークはRowだけを出力したり、件数を数えたり、合計を計算したりする
      • 文字列を連結する事も可能
    • Analytic Query
      • 前後のRowの情報を取得する事が出来る
    • Sample rows
      • テストの時にデータを減らしたりする場合に使う事が多い
      • 先頭行だけ取得したい時にも使う
  • ジョブ
    • Copy rows to result
      • 入力をメモリに保持
    • Get rows from result
      • メモリから入力を取得
    • Get Variables
      • 変数の取得
    • Set Variables
      • 変数の設定
  • マッピング
    • Mapping (sub-transformation)
      • いわゆるサブルーチンの呼び出し(Transformation)
    • Mapping input step
      • サブルーチンでの入力取得
    • Mapping output step
      • サブルーチンでの出力

0 件のコメント:

コメントを投稿