トランザクション制御トランスフォーメーション
トランザクション制御トランスフォーメーションは、マッピングの実行時に行のセットをコミットまたはロールバックするアクティブなトランスフォーメーションです。トランザクション制御トランスフォーメーションを使用して、リレーショナル、XML、Amazon Redshift、REST V2などのトランザクションターゲットに対してトランザクションをコミットまたはロールバックします。また、マッピングでこのトランスフォーメーションを使用して、データ統合が新しいトランザクションを開始するたびにデータを異なるフラットファイルに書き込むこともできます。
大量のデータを処理する場合は、トランザクション制御トランスフォーメーションを使用することをお勧めします。トランザクション制御トランスフォーメーションを使用すると、一定の間隔でデータをコミットできるため、データ損失を防ぐことができます。例えば、注文タイプでソートされているテーブル内の何千ものレコードを処理するマッピングを実行するとします。マッピングで異なる注文タイプが処理されるたびにデータをコミットすることができます。
トランザクション制御トランスフォーメーションにおけるトランザクションは、コミット行またはロールバック行によって関連付けられた行または行のセットです。トランザクションは、従業員IDや注文入力日などの共通キーでソートされている行のグループをベースにすることができます。各トランザクションの行数は異なる場合があります。
トランザクションを定義するには、トランスフォーメーションでトランザクション制御条件を指定します。条件が満たされているかどうかに基づいて、行をコミットするか、行をロールバックするか、またはトランザクション境界を変更せずにデータの処理を続行するように選択できます。
マッピングタスクを実行すると、データ統合により、トランスフォーメーションに入力される行ごとにトランザクション制御条件が評価されます。コミット行が評価されると、トランザクション内のすべての行がターゲットにコミットされます。データ統合は、ロールバック行を評価すると、トランザクションのすべての行をターゲットからロールバックします。
実行時に作成されるフラットファイルターゲットがマッピングに含まれる場合は、データ統合が新しいトランザクションを開始するたびに出力ファイルを生成できます。ターゲットフラットファイル名は動的に指定できます。
例
トランザクション制御を使って、注文タイプに基づいて注文情報を書き出すとします。特定のタイプのすべての注文が別のターゲットファイルに書き込まれるようにします。このためには、次のマッピングを作成します。
マッピングには次のトランスフォーメーションが含まれます。
- ソーストランスフォーメーション
- ソースORDERSテーブルへの接続を設定します。
- ソータートランスフォーメーション
- ソート条件を設定して、ソースデータをORDER_TYPEでソートします。
- トランザクション制御トランスフォーメーション
統合サービスが新しい注文入力日を検出したときにデータをコミットするように、以下のトランザクション制御条件を作成します。
プロパティ | 値 |
---|
トランザクション制御条件 | フィールド値が変わった場合 |
フィールド | ORDER_TYPE(文字列) |
実行するアクション | 次より前にコミット |
Else | トランザクションを続行 |
- ターゲットトランスフォーメーション
実行時に新しいファイルターゲットを作成し、動的ファイル名を指定します。ターゲット名に次の式を使用して、注文タイプごとに異なるターゲットファイルを作成します。
'Orders_ '||ORDER_TYPE||'.csv'