2013年9月1日日曜日

初めてのPentaho Data Integration 9 テーブルの入れ替え

テーブルの中身を入れ替える場合に普通に作るとアプリケーションが入れ替え途中にテーブルにアクセスするつ入れ替え途中のデータが見えてしまいます。

途中のデータを見えなくするには 入れ替え途中にCommitされないように工夫する必要があります。
PentahoでCommitされないように作る場合はこんな方法があります。
ファイルからの入力を元にSQL Insert文を作成
 

Generate RowsでDelete文、Commitを作成

Append Streamで Delete→Insert→Commitとなるように並べる

データが途切れるとデータが途切れると自動Commitされるのでデータ個数を数え最後のデータを待つ。
 

 Execute row SQL scriptで実行する。コミット数を入力数より大きくする。

 SQL文をファイルに書き込んでバルクロードを使った方が素直かも。
Transformationを2つに分けなくても良いのがこの方法の利点です。

0 件のコメント:

コメントを投稿