2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[IDMC]CDIRをトリガーにCDIのTaskflowを実行する

2
Last updated at Posted at 2026-07-14

はじめに

業務システムやSaaSのデータをデータ基盤へ継続的に反映する場合、CDCChange Data Capture)を利用することで、ソースで発生した変更を検知し、ターゲットへ連携できます。

しかし、実際のデータパイプラインは、データを転送するだけでは完結しません。取り込んだデータに対して、クレンジング、変換、集計などの後続処理が必要になることも多くあります。
このとき、CDC処理と後続処理が別々のツールで管理されていると、ジョブの依存関係や実行タイミングが複雑になります。

InformaticaのIDMC(Intelligent Data Management Cloud)では、CDIR(Cloud Data Ingestion and Replication)による変更データの取り込みを起点として、CDI(Cloud Data Integration)のTaskflowを自動実行できるため、リアルタイム性の高いデータパイプラインを簡単に実現できます。

本記事では、CDIRのCDCサイクル完了後にTaskflowを起動し、そのサイクルで取り込まれた差分データだけを処理する方法をご紹介します。

概要

CDIRとは

CDIRは、InformaticaがIDMC上で提供する、大量データロードのためのサービスです。
大規模かつ低レイテンシなデータの移動を、数ステップのウィザード形式で簡単に実現します。

以前の記事では、SalesforceからSnowflakeへのデータロードや、Snowflake管理のIcebergテーブルへのデータロードを実装しました。

本記事では、CDIRによるデータ取り込み完了後の後続処理に焦点を当てます。

CDIRをトリガーにTaskflowを起動する

CDCによって変更データを継続的に取り込む場合、取り込み後にクレンジングや変換、集計などの後続処理が必要になることがあります。
このとき課題となるのが、後続処理を開始するタイミングの制御と、そのサイクルで取り込まれたデータの識別です。

IDMCでは、CDIRによるデータの取り込み完了をトリガーとしてTaskflowを起動できます。その際、CDIRから渡されたCycle IDをMapping Taskのフィルタ条件として使用することで、対象のCDCサイクルで取り込まれた差分データだけを処理できます。

CDIRを単なるデータ取り込み機能ではなく、後続処理を開始する起点として活用できることが大きな特徴です。

実装

以下のような構成を実装します。
CDIRでSalesforceからSnowflakeのBronzeレイヤにデータを取り込んだ後、CDIのTaskflowが自動起動し、Silverレイヤへデータを連携します。

Modern Data Architecture.png

CDIR-Applicationの作成

まず、CDIR-Applicationを作成します。
今回は、Taskflow起動に必要な設定に絞ってご紹介します。

CDIRの全般的な設定については、以下の記事をご参照ください。

「サイクルIDの追加」

今回の構成で重要になるのが、Cycle IDです。
Cycle IDは、CDIRの各取り込みサイクルを識別するための値です。
後続処理では、このCycle IDを条件に使用することで、対象の取り込みサイクルで連携されたデータだけを処理できます。

「タスクの詳細 - ターゲットの詳細」ステップで「サイクルIDの追加」を設定します。

image.png

「タスクフローで実行」

「開始」ステップにて「タスクフローで実行」オプションを有効にします。
この設定を有効にすると、CDIRの取り込みサイクル完了時にイベントが発行され、指定したTaskflowを起動できるようになります。

image.png

デプロイ

設定を保存し、「デプロイ」します。

タスクをデプロイすると、設定内容に基づいてSnowflake上にターゲットテーブルが作成されます。

image.png

Mappingの作成

CDIRで取り込んだデータを処理するMappingを作成します。

入出力パラメータの作成

CDIRから渡されるCycle IDを受け取るため、Mappingに入出力パラメータを作成します。
image.png

image.png

フィルタトランスフォーメーションの作成

ソーステーブルに格納されたCycle IDと、Taskflow経由で受け取ったCycle IDが一致する行だけを抽出するように、フィルタトランスフォーメーションを設定します。
image.png

Mappingの保存

ターゲットとしてSilverレイヤのテーブルを指定し、Mappingを保存します。
※企業名と電話番号を整形する簡単なクレンジングを追加しています。
image.png

Mapping Taskを作成します。
image.png

Taskflowの作成

次に、Taskflowを作成します。

CDIR Eventの設定

Taskflowの開始プロパティで、CDIRタスクを指定します。
image.png

データタスク内でパラメータを受け渡す

データタスクを追加し、先ほど作成したMapping Taskを指定します。
CDIRイベントから受け取ったCycle IDを、Mapping Taskの入力フィールドへ割り当てます。
image.png

保存し、パブリッシュします。

DEMO

では、実際に動かしてみましょう。

事前にSalesforceには3件の初期データを登録しています。
image.png

先ほどデプロイしたCDIRタスクを実行します。
image.png

初期データの取り込み

CDIRタスクが起動し、SalesforceからSnowflakeへの初期ロードが開始されます。

image.png

Bronzeレイヤにデータが初期ロードされます。

image.png

初期ロードのサイクルが完了すると、CDIRイベントを受け取ったTaskflowが起動し、Mapping Taskが実行されます。

image.png

BronzeレイヤからSilverレイヤにデータが連携されました。

image.png

変更データの取り込み

Salesforceに新たなAccount(取引先)を追加します。
image.png

CDIRによってデータがロードされ、その後Taskflowが起動します。

image.png

Bronzeレイヤにデータが増分ロードされます。
増分ロードで追加されたデータには、初期ロード時とは異なるCycle IDが付与されています。
image.png

CDIRをトリガーにTaskflowが起動し、BronzeレイヤからSilverレイヤにデータが連携されました。
Taskflowには新しいCycle IDが渡されるため、今回追加されたデータだけが処理されます。
image.png

以降も、CDCサイクルごとに新しいCycle IDが発行されます。後続処理では、イベントから受け取ったCycle IDを使って、各サイクルの対象データを識別できます。
image.png

おわりに

本記事では、CDIRのCDCサイクル完了後にTaskflowを起動し、そのサイクルで取り込まれた差分データだけを処理する方法をご紹介しました。

CDIRを単なるデータ転送機能ではなく、後続処理を含むデータパイプライン全体の起点として活用できる点が、データマネジメントのためのオールインワンプラットフォームであるIDMCの大きな強みです。

データの取り込みから加工までを自動化し、シンプルで運用しやすいデータ基盤の構築を検討されている方は、ぜひCDIRを起点とした構成を試してみてください。

参考

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?