このタスクについて
CDC環境を設定した後に、Oracle CDCコンポーネントを使ってジョブをデザインし、LEADFACTテーブルから変更データを増分抽出できるようになります。これを設定するには、以下のようにします:
手順
-
コンポーネントOracleCDCおよびtLogRowを[Palette] (パレット)からデザインワークスペースにドロップします。
-
[Row Main] (行メイン)リンクを使用して2つのコンポーネントをリンクします。
-
tOracleCDCをダブルクリックして[Basic settings] (基本設定)ビューを開き、プロパティを定義します。
-
[Property Type] (プロパティタイプ)を[Repository] (リポジトリー)に設定し、 Oracleデータベーステーブルに対応するスキーマ(このシナリオではcdc_publisher)を選択します。接続の詳細は、対応するフィールドに自動的に表示されます。
注:
データウェアハウスの接続の詳細を[Repository] (リポジトリー)の[Metadata] (メタデータ)フォルダーに保管していない場合は 、プロパティタイプリストで[Built-in] (組み込み)を選択し、接続の詳細を手動で設定します。
-
[Schema using CDC] (CDCを使用するスキーマ)フィールドで[Repository] (リポジトリー)を選択し、[Metadata] (メタデータ)フォルダーに保存されているLEADFACTテーブルのスキーマを選択します。
-
[Table using CDC] (CDCを使用するテーブル)フィールドに、CDCで取り込まれたテーブルの名前、このシナリオの場合はLeadfactを入力します。
-
[Events to catch] (取得するイベント)フィールドで、サブスクライバーにより抽出される変更データのタイプに対応するチェックボックスをオンにします。このシナリオでは、3つのサブスクライバーについて3つのチェックボックスをオンにします。
-
tLogRowをダブルクリックして[Basic settings] (基本設定)ビューを表示し、プロパティを定義します。
-
[Sync columns] (カラムを同期)をクリックして、先行のコンポーネントからスキーマを取得します。
-
[Edit schema] (スキーマを編集)をクリックして、スキーマダイアログボックスを開きます。
-
[Date Pattern] (日付パターン)カラムのTALEND_CDC_CREATION_DATE行で、必要な日付形式をブラケットの間に入力します:
"yyyy-MM-dd"
.
-
ジョブを保存し、F6を押して実行します。
タスクの結果
[Redo log] (再実行ログ)モードでは、データに対して行われた変更は次のように示されます: 変更は最初の"アップデートして削除する"操作(UO)に等しく、次に"アップデートして挿入"操作(UN)に等しくなっています。したがって、クライアントデータは2度表示されます。
-最初は、データが削除された時(UO)。
-2回目は、データが挿入された時(UN)。
いったん変更が抽出されると、変更テーブルでは利用できなくなります。抽出を検証するには、CDCで取得したLEADFACTテーブルを右クリックし、[Views All Changes] (すべての変更を表示)を選択します。抽出された変更は表示されなくなります。
[Trigger] (トリガー)モードを使用する別のCDCシナリオは、CDCを使用した変更データの取得をご覧ください。