software:pentaho
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
software:pentaho [2017/11/14 08:55] – dot | software:pentaho [2017/12/25 03:00] (現在) – dot | ||
---|---|---|---|
行 1: | 行 1: | ||
- | |||
======= Pentaho Spoon ======= | ======= Pentaho Spoon ======= | ||
+ | |||
+ | ===== Overview ===== | ||
+ | |||
+ | Pentaho Spoon は ETL ツールであり、企業内で使用する様々なデータ(Excel, | ||
+ | |||
+ | * Extract: Excel, DB, CSVなどから「データを抽出」 | ||
+ | * Transform: 抽出したデータを必要に応じて変換・加工 | ||
+ | * Load: 変換・加工したデータをロード(Excel, | ||
+ | |||
+ | このツールを利用することで「データ移行」や「集計表の作成」などの作業が簡単になることがある。 | ||
+ | |||
+ | 例えば、「データ移行」においてマスタテーブルの移行などは「データ変換ロジック」があまりないため、 | ||
+ | Pentaho Spoon を利用するとかなり高速にデータ移行プログラムが作成できる。 | ||
+ | しかしながら「トランザクションデータ」のデータ移行などで複雑な「データ変換ロジック」が必要になる場合は、 | ||
+ | Pentaho Spoon は適さない。Pentaho Spoon で「データ変換ロジック」を実装することは可能ではあるが、 | ||
+ | デバッグが難しく、結果として実装に長時間掛かってしまうことがある。 | ||
+ | |||
+ | __Pentaho Spoon が向いている処理__ | ||
+ | * データ移行 | ||
+ | * マスタテーブルのデータ移行 | ||
+ | * 旧テーブルと新テーブルであまり変更がない場合のデータ移行 | ||
+ | * カラム名変更 | ||
+ | * データの単純な分割 | ||
+ | * 集計 | ||
+ | * DBテーブルから集計用のselect文を使ってデータを抽出し、報告用のExcelに出力 | ||
+ | |||
+ | __Pentaho Spoon が向いていない処理__ | ||
+ | * データ移行 | ||
+ | * 複雑なデータ変換ロジックを要するデータ移行 | ||
+ | * ピボット分析(行を列に変換)を伴うデータ移行 | ||
===== Install ===== | ===== Install ===== | ||
行 12: | 行 41: | ||
data-integration\Spoon.bat | data-integration\Spoon.bat | ||
- | メモリ不足で起動しない出来ない場合がある。 | + | メモリ不足で起動しない場合がある。 |
その場合は上記.batファイルをテキストエディタで開き、 | その場合は上記.batファイルをテキストエディタで開き、 | ||
以下の部分の数値を下げると良い。 | 以下の部分の数値を下げると良い。 | ||
- | PENTAHO_DI_JAVA_OPTIONS=" | + | PENTAHO_DI_JAVA_OPTIONS=" |
+ | |||
+ | ===== Docs ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * 「テーブル入力」や「Excel出力」などのコンポーネントを Pentaho Spoon では「ステップ」と呼ぶ | ||
行 32: | 行 67: | ||
==== DBテーブルの内容をExcelに出力する ==== | ==== DBテーブルの内容をExcelに出力する ==== | ||
- | 完成後のイメージ。 | + | {{ : |
+ | (Pentaho Spoonで開くことができる。) | ||
+ | |||
+ | |||
+ | 完成後のイメージ | ||
{{: | {{: | ||
行 76: | 行 115: | ||
Spoonの左側にある「デザイン」タブを選択し、「出力」を選択して展開し、「Excel出力」をSpoon中央に Drag& | Spoonの左側にある「デザイン」タブを選択し、「出力」を選択して展開し、「Excel出力」をSpoon中央に Drag& | ||
「テーブル入力」ステップを「Shift + 左クリック」して「Excel出力」とコネクション(矢印)を設定する。 | 「テーブル入力」ステップを「Shift + 左クリック」して「Excel出力」とコネクション(矢印)を設定する。 | ||
- | 「Excel出力」をダブルクリックして「ファイル名」に出力したExcelの場所を設定する。(「参照」から指定すると簡単。) | + | 「Excel出力」をダブルクリックして「ファイル名」に出力したいExcelの場所を適当に設定する。(「参照」から指定すると簡単。) |
* Step6: データ変換の保存 | * Step6: データ変換の保存 | ||
行 86: | 行 125: | ||
[アクション(A)]-> | [アクション(A)]-> | ||
「Excel出力」で設定した場所にExcelが出力されていれば成功。 | 「Excel出力」で設定した場所にExcelが出力されていれば成功。 | ||
+ | |||
+ | ==== データ移行で旧テーブルと新テーブルのカラム名が違う場合 ==== | ||
+ | |||
+ | Case Study [[software: | ||
+ | の流れで出力先を「Excel出力」ではなく「テーブル出力」ステップ(insert文)または「挿入/ | ||
+ | |||
+ | 「テーブル入力」で発行するselect文で以下のように AS 構文を利用すると、新テーブルのカラム名に変更することができる。 | ||
+ | |||
+ | select 旧カラム名 as 新カラム名 from TABLE; | ||
+ | |||
+ | Spoonで用意されている「選択/ | ||
+ | |||
+ | ==== データ移行で旧テーブルと新テーブルのカラム名が違う場合(「選択/ | ||
+ | |||
+ | 完成後のイメージ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | H2データベースなどはAS句をサポートしていないため、SQLでカラム名の変更ができない。 | ||
+ | また、「Excel入力」や「CSV入力」などどもカラム名の変更は当然SQLで行うことはできない。 | ||
+ | |||
+ | そのような場合はSpoonで用意されている「選択/ | ||
+ | |||
+ | * Spoonの左側にある「デザイン」タブを選択し、「変換」を選択して展開し、「選択/ | ||
+ | * 「選択/ | ||
+ | * 「結合を分割しますか? | ||
+ | * 「選択/ | ||
+ | * 変更したいカラム名を「変更名称」列に入力する。 | ||
+ | * 「OK」ボタンをクリック。 | ||
==== 空文字を空文字のまま扱う ==== | ==== 空文字を空文字のまま扱う ==== |
software/pentaho.1510649755.txt.gz · 最終更新: 2017/11/14 08:55 by dot