Informatica PowerCenterとCloud Data Integrationの違いをまとめてみた（第3回/全4回）

[NTTデータ ソリューション事業本部 デジタルサクセスソリューション事業部](https://www.nttdata.com/jp/ja/services/data-and-intelligence/) の nttd-nagano です。

[12月13日の記事](https://qiita.com/nttd-nagano/items/a9b17b1aa26622f07d65) で、Informaticaのクラウドデータマネージメントプラットフォーム「[Intelligent Data Management Cloud](https://www.informatica.com/jp/platform.html)」（※1）をご紹介しましたが、**今回は、そのIDMCのデータ統合サービスである「[Cloud Data Integration](https://www.informatica.com/jp/products/cloud-integration/cloud-data-integration.html)」（※2）と、同社の旧来のデータ統合製品である「[PowerCenter](https://www.informatica.com/jp/products/data-integration/powercenter.html)」を比べ、その違いをまとめてみました。**

**記事が長くなってしまったため、全4回に分割してご説明しております。**

[前回は第2回目として「ソースやターゲットの設定方法の比較」「トランスフォーメーションの種類や使用方法の比較」「トランスフォーメーション間の接続の方法の比較」をご説明しました。](https://qiita.com/nttd-nagano/items/d97970562480724fee60)
**今回は第3回目として「マッピングを包む定義体とその実行方法や実行状況の確認方法の比較」「コマンドでの実行方法の比較」「パラメーターの比較」をご説明します。**

<details><summary>※1. Intelligent Data Management Cloud</summary>
略称はIDMC。旧称はIICS。クラウドデータマネジメントプラットフォーム。以下IDMCと記載。
</details>

<details><summary>※2. Cloud Data Integration</summary>
略称はCDI。データ統合サービス。ETL処理（※3）やELT処理（※4）を担う。以下CDIと記載。
</details>

![idmc_summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/4e66c255-cf99-e960-8c4d-f2e577a30672.png)
![cdi_summary.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/6e38a376-f7c9-0904-99ef-c5a45a65ac39.png)


「データ統合」というのは、ETL（※3）と呼ばれていたこともある領域の処理です。

<details><summary>※3. ETL処理</summary>
データベースなどに蓄積されたデータから必要なものを抽出（Extract）し、目的に応じて変換（Transform）し、データを必要とするシステムに格納（Load）すること。
</details>

<details><summary>※4. ELT処理</summary>
ETL処理（※3）と対比して使われることが多い言葉。データ統合処理の順序を従来型のE→T→Lの順ではなく、E→L→Tの順でおこなう。近年ではDBMSの性能が爆発的に向上したことから、その性能を有効活用するために使われる手法｡
</details>
なお、IDMCにはCDIをはじめ様々なサービスがありますが、本記事はPowerCenterとの比較であるため、CDIのみにフォーカスしてご説明していきます。


# マッピングを包む定義体とその実行方法や実行状況の確認方法の比較

公式の動画「[IICS for PowerCenter Developers: Running a Mapping without a Session](https://youtu.be/48JJXA2MXNE)」および「[IICS for PowerCenter Developers: How to Create a PowerCenter Session Equivalent in IICS](https://youtu.be/lg7K7yRecM4)」をベースに筆者の解釈を交えて説明します。
![cdi_myjob.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/2b7fc69d-9d10-d1bf-51d9-ec219deb58b2.png)
![cdi_mappingtask.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/4cb08595-efd9-105e-ab64-aa04570f9a78.png)
![cdi_taskflow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/59bd1f2a-5e3d-10f7-25f2-f25d26c6ee1f.png)

1. PowerCenterでは、PowerCenter Designerでマッピング作成後にアドホックに実行したい場合、マッピングに対する「セッション」を作り、「セッション」を包含した「ワークフロー」を作る必要がありました。また、そのために、Workflow Managerに切り替える必要がありました。一方、CDIでは、それらの手順は不要です。
1. **CDIでは、「マッピング」の作成時に状態が「有効」になり、その後保存すると、画面右上の「実行」ボタンがクリックできるようになります。その「実行」ボタンをクリックすると、どのランタイム環境（Agent）を指定するのかを聞かれます。そして、「実行」ボタンをクリックすると、「マッピング」が実行されます。**
1. さて、PowerCenterでは、実行状況を確認するためにWorkflow Monitorを使っていました。一方、**CDIでは、自分が実行したものの実行状況を見たい場合は、画面左の「マイジョブ」をクリックします。** 各行をクリックすると、詳細を見ることができます。また、必要であれば、この詳細画面からログファイルをダウンロードすることもできます。
1. 自分が実行したものではなく、システムレベルで何が実行中なのかを見たい場合は、アプリケーションピッカーに戻り、「モニタ」をクリックします。モニタの詳細は、 [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-platform/current-version/_monitor_cloud-platform_current-version_ditamap/GUID-CB2471BC-5D89-4B50-9766-B26303401977.html) をご覧ください。
1. さて、前述の通り、CDIでは、「マッピング」を画面からアドホックに実行することもできますが、**何度も実行する場合は、PowerCenterの「セッション」相当の定義体を作ります。CDIでは、それは「マッピングタスク」です。** マッピングタスクの詳細は、 [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_tasks_cloud-data-integration_current-version_ditamap/GUID-CDE7BE40-6D15-4346-910E-CABD9516B56E.html) をご覧ください。
1. CDIでは、マッピングデザイナーのままで、画面左で「新規」＞「マッピングタスク」をクリックすると作れます。
1. ウィザードの「スケジュール」にて、定期実行の設定や、メールでの通知の設定、前処理コマンド/後処理コマンドの設定などができます。
1. PowerCenterの「セッション」とは異なり、「マッピングタスク」を「ワークフロー」のようなものに格納する必要はありません。その代わり、「マッピングタスク」を直接実行できます。**複数の「マッピングタスク」を実行したい場合、「タスクフロー」に格納することもできます。これがPowerCenterの「ワークフロー」相当の定義体です。** タスクフローの詳細は、 [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_taskflows_cloud-data-integration_current-version_ditamap/GUID-87B79398-1C31-48CB-A421-0D13CAF1156C.html) をご覧ください。
1. また、[PowerCenterでは、「セッション」が失敗した場合に、「ワークフロー」を失敗にする設定がありました。](https://docs.informatica.com/ja_jp/data-integration/powercenter/10-4-0/_workflow-basics-guide_powercenter_10-4-0_ditamap/GUID-3E94C678-2CAE-4FA7-A0FE-7681E3E93076/GUID-6EFE10B0-6325-4AE8-A2B7-522CA445EA98/GUID-F66C6FC0-D3FF-462A-B63E-35964CEA4565.html)
1. 一方、**CDIでも、「マッピングタスク」がエラーであった場合に、「リニアタスクフロー」の実行を停止し、ステータスを「失敗」にする設定があります。** 詳細は [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_taskflows_cloud-data-integration_current-version_ditamap/GUID-F8D9DFA6-32FA-488A-B7E7-CB09709CC9AF/GUID-557F5DE8-4A8F-4DEC-9863-4A58A127D92C.html) をご覧ください。

    |PowerCenterの定義体|IDMCのCDIの定義体|
    |---|---|
    |ワークフロー|タスクフロー|
    |セッション|マッピングタスク|
    |マッピング|マッピング|
    |マップレット|マップレット|

# コマンドでの実行方法の比較

1. PowerCenterでは、[pmcmd startWorkflow コマンドで「ワークフロー」を実行できました](https://docs.informatica.com/ja_jp/data-integration/powercenter/10-4-0/_command-reference_powercenter_10-4-0_ditamap/GUID-C21BA4DC-4D96-4D62-ACC9-7FE9F09F9EEB/GUID-EA18711D-BDEB-400A-91BD-4372EC02B872.html) 。
1. 一方、**CDIでは、「RunAJobユーティリティ」を使用して「タスク」（「マッピングタスク」など） または 「タスクフロー」を実行できます。** 詳細は [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-platform/current-version/_rest-api-reference_cloud-platform_current-version_ditamap/GUID-54DDD94E-947C-4879-B11F-270E23C8A58F.html) をご覧ください。
1. CDIでは、他の方法で実行することもできます。詳細は [公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_taskflows_cloud-data-integration_current-version_ditamap/GUID-90D4E9B7-1FBA-4E47-B1F2-CB6C5F5930F3/GUID-59234188-F355-49E1-892F-89B8426751FD.html) をご覧ください。

# パラメーターの比較

![cdi_parameter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3031738/9e26bff9-4ebf-8374-6beb-7c89d92056e0.png)

1. [PowerCenterにはサービス変数、サービスプロセス変数、ワークフロー変数、ワークレット変数、セッションパラメータ、マッピングパラメーター、マッピング変数があり、それら外部から指定するために「パラメーターファイル」を使用できました。この「パラメータファイル」は「ワークフロー」に対して指定するものでした。](https://docs.informatica.com/ja_jp/data-integration/powercenter/10-4-0/_advanced-workflow-guide_powercenter_10-4-0_ditamap/GUID-3C955EC8-2331-4BF1-BAA4-F74A3CBE3048.html)
1. 一方、**CDIにも同様に「パラメーター」と「パラメーターファイル」があります。雰囲気は似ているものの、使用方法かなり差異があります。また、新たに「パラメーターセット」という概念もあります。**
1. **「パラメーター」には種類があります。「入力パラメーター」「入出力パラメーター」「システムパラメーター」です。**
1. まず、**「入力パラメーター」を説明します。「マッピング」レベルで定義します。次のタイプがあります：「文字列」「接続」「式」「データオブジェクト」「フィールド」「フィールドマッピング」「マスクルール」。** 詳細は、[公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_mappings_cloud-data-integration_current-version_ditamap/GUID-CF86CC85-7D3C-4334-BEB4-14D57C332AD9/GUID-BA8E9626-A175-49E6-9928-2FDC33EEC4C9.html) をご覧ください。「接続」と「データオブジェクト」の入力パラメータの値はパラメーターファイルで上書きできます。上書きするには事前に許可設定が必要です。詳細は、[公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_mappings_cloud-data-integration_current-version_ditamap/GUID-CF86CC85-7D3C-4334-BEB4-14D57C332AD9/GUID-B3F568FB-41B8-4851-997C-9145DBF5DEEF.html) をご覧ください。
1. 次に、**「入出力パラメーター」を説明します。これも「マッピング」レベルで定義します。パラメータ値は、タスクの実行中に更新され、保持されます。次のデータ型があります：「integer」「bigint」「string」「text」「decimal」「double」「date/time」。例えばカウンタなどに利用できます。** 詳細は、[公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_mappings_cloud-data-integration_current-version_ditamap/GUID-CF86CC85-7D3C-4334-BEB4-14D57C332AD9/GUID-AB6B4866-1410-435D-BCDD-2EC0BC520B2A.html) をご覧ください。
1. 最後は、**「システムパラメーター」を説明します。あらかじめ定義されています。$LastRunTime（最終実行日付時刻）などがあります。**
1. それぞれの差異については、公式のKB「[Overview of parameter types in Mapping Tasks and details about their lifecycle in Cloud Data Integration (CDI)](https://knowledge.informatica.com/s/article/Overview-of-parameter-types-in-Mapping-Tasks-and-details-about-their-lifecycle-in-Cloud-Data-Integration-CDI?language=en_US&type=external)」をご覧ください。
1. **「入力パラメーター」と「入出力パラメーター」を外部から指定するために「パラメーターファイル」を使用できます。「マッピングタスク」に対して指定します。** 「パラメーターファイル」で「パラメーター」が定義されていない場合、「タスク」で定義されている値が使用されます。詳細は、[公式ドキュメント](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_mappings_cloud-data-integration_current-version_ditamap/GUID-CF86CC85-7D3C-4334-BEB4-14D57C332AD9/GUID-B3F568FB-41B8-4851-997C-9145DBF5DEEF.html) をご覧ください。
1. 一方、**「タスクフロー」レベルの概念として、「パラメーターセット」という概念があります。**
1. たとえば、前述の「[RunAJobユーティリティ](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_rest-api-reference_cloud-data-integration_current-version_ditamap/GUID-54DDD94E-947C-4879-B11F-270E23C8A58F.html)」 を使用して「マッピングタスク」を実行する場合には、前述の「パラメーターファイル」を指定できますが、一方で、**「RunAJobユーティリティ」を使用して「タスクフロー」を実行する場合には、「パラメーターファイル」を指定することはできず、「パラメーターセット」を指定することになります。**
1. 詳細は、公式のKB「[HOW TO: Implement parameter set in IICS](https://knowledge.informatica.com/s/article/How-to-implement-parameter-set-in-IICS?language=en_US&type=external)」 および [公式ドキュメントのタスクフローおよびパラメーターセットの説明](https://docs.informatica.com/ja_jp/integration-cloud/cloud-data-integration/current-version/_taskflows_cloud-data-integration_current-version_ditamap/GUID-90D4E9B7-1FBA-4E47-B1F2-CB6C5F5930F3/GUID-F9D936DC-A2FB-48D9-A513-94EE439E84D7.html) および [公式ドキュメントのParamSetCliユーティリティの説明](https://docs.informatica.com/ja_jp/integration-cloud/cloud-platform/current-version/_rest-api-reference_cloud-platform_current-version_ditamap/GUID-EA09710C-99C3-4110-BB25-145FECD38872.html) をご覧ください。

# おわりに

以上、「PowerCenterとCDIの違いをまとめてみた」の第3回目でした。
**次回の第4回目は、「バージョン管理方法の比較」「管理者作業の比較」「機能面での進化」をご説明します。**
**<font color="orange">※.2022.12.22追記：第4回目を投稿しました。 → [Informatica PowerCenterとCloud Data Integrationの違いをまとめてみた（第4回/全4回）](https://qiita.com/nttd-nagano/items/ec4830697fe0d01fe16d)</font>**

**[IDMCのCDIは30日間の無料体験ができる](https://www.informatica.com/jp/trials/informatica-cloud.html)** ので、この機会に試してみてはいかがでしょうか。

IDMCには今回ご紹介したCDIの他にも、API統合、マスターデータ管理、データガバナンス関連など様々なサービスがあります。
**これらについても、今後、[当Organization](https://qiita.com/organizations/nttdata) の記事でご紹介していく予定ですので、ご興味がございましたらご覧ください。**

## 仲間募集

NTTデータ ソリューション事業本部 では、以下の職種を募集しています。

<details><summary>1. クラウド技術を活用したデータ分析プラットフォームの開発・構築(ITアーキテクト/クラウドエンジニア)</summary>

クラウド／プラットフォーム技術の知見に基づき、DWH、BI、ETL領域におけるソリューション開発を推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/cloud_engineer

</details>

<details><summary>2. データサイエンス領域（データサイエンティスト／データアナリスト）</summary>

データ活用／情報処理／AI／BI／統計学などの情報科学を活用し、よりデータサイエンスの観点から、データ分析プロジェクトのリーダーとしてお客様のDX／デジタルサクセスを推進します。
https://enterprise-aiiot.nttdata.com/recruitment/career_sp/datascientist

</details>

<details><summary>3.お客様のAI活用の成功を推進するAIサクセスマネージャー</summary>

DataRobotをはじめとしたAIソリューションやサービスを使って、
お客様のAIプロジェクトを成功させ、ビジネス価値を創出するための活動を実施し、
お客様内でのAI活用を拡大、NTTデータが提供するAIソリューションの利用継続を推進していただく人材を募集しています。
https://nttdata-career.jposting.net/u/job.phtml?job_code=804

</details>

<details><summary>4.DX／デジタルサクセスを推進するデータサイエンティスト《管理職/管理職候補》</summary>
データ分析プロジェクトのリーダとして、正確な課題の把握、適切な評価指標の設定、分析計画策定や適切な分析手法や技術の評価・選定といったデータ活用の具現化、高度化を行い分析結果の見える化・お客様の納得感醸成を行うことで、ビジネス成果・価値を出すアクションへとつなげることができるデータサイエンティスト人材を募集しています。

https://nttdata-career.jposting.net/u/job.phtml?job_code=898

</details>

## ソリューション紹介

<details><summary> Trusted Data Foundationについて</summary><div>

～データ資産を分析活用するための環境をオールインワンで提供するソリューション～
https://www.nttdata.com/jp/ja/lineup/tdf/
最新のクラウド技術を採用して弊社が独自に設計したリファレンスアーキテクチャ（Datalake+DWH+AI/BI）を顧客要件に合わせてカスタマイズして提供します。
可視化、機械学習、DeepLearningなどデータ資産を分析活用するための環境がオールインワンで用意されており、これまでとは別次元の量と質のデータを用いてアジリティ高くDX推進を実現できます。

</div></details>


<details><summary> TDFⓇ-AM（Trusted Data Foundation - Analytics Managed Service）について</summary><div>

～データ活用基盤の段階的な拡張支援（Quick Start) と保守運用のマネジメント（Analytics Managed）をご提供することでお客様のDXを成功に導く、データ活用プラットフォームサービス～
https://www.nttdata.com/jp/ja/lineup/tdf_am/
TDFⓇ-AMは、データ活用をQuickに始めることができ、データ活用の成熟度に応じて段階的に環境を拡張します。プラットフォームの保守運用はNTTデータが一括で実施し、お客様は成果創出に専念することが可能です。また、日々最新のテクノロジーをキャッチアップし、常に活用しやすい環境を提供します。なお、ご要望に応じて上流のコンサルティングフェーズからAI/BIなどのデータ活用支援に至るまで、End to Endで課題解決に向けて伴走することも可能です。

</div></details>

<details><summary> NTTデータとInformaticaについて</summary><div>

データ連携や処理方式を専門領域として10年以上取り組んできたプロ集団であるNTTデータは、データマネジメント領域でグローバルでの高い評価を得ているInformatica社とパートナーシップを結び、サービス強化を推進しています。
https://www.nttdata.com/jp/ja/lineup/informatica/

</div></details>

<details><summary>NTTデータとTableauについて </summary><div>

ビジュアル分析プラットフォームのTableauと2014年にパートナー契約を締結し、自社の経営ダッシュボード基盤への採用や独自のコンピテンシーセンターの設置などの取り組みを進めてきました。さらに2019年度にはSalesforceとワンストップでのサービスを提供開始するなど、積極的にビジネスを展開しています。

これまでPartner of the Year, Japanを4年連続で受賞しており、2021年にはアジア太平洋地域で最もビジネスに貢献したパートナーとして表彰されました。
また、2020年度からは、Tableauを活用したデータ活用促進のコンサルティングや導入サービスの他、AI活用やデータマネジメント整備など、お客さまの企業全体のデータ活用民主化を成功させるためのノウハウ・方法論を体系化した「デジタルサクセス」プログラムを提供開始しています。
https://www.nttdata.com/jp/ja/lineup/tableau/

</div></details>

<details><summary>NTTデータとAlteryxについて </summary><div>
Alteryxは、業務ユーザーからIT部門まで誰でも使えるセルフサービス分析プラットフォームです。

Alteryx導入の豊富な実績を持つNTTデータは、最高位にあたるAlteryx Premiumパートナーとしてお客さまをご支援します。

導入時のプロフェッショナル支援など独自メニューを整備し、特定の業種によらない多くのお客さまに、Alteryxを活用したサービスの強化・拡充を提供します。

https://www.nttdata.com/jp/ja/lineup/alteryx/

</div></details>

<details><summary>NTTデータとDataRobotについて </summary><div>
DataRobotは、包括的なAIライフサイクルプラットフォームです。

NTTデータはDataRobot社と戦略的資本業務提携を行い、経験豊富なデータサイエンティストがAI・データ活用を起点にお客様のビジネスにおける価値創出をご支援します。

https://www.nttdata.com/jp/ja/lineup/datarobot/

</div></details>

<details><summary>NTTデータとDatabricksについて </summary><div>
NTTデータでは、Databricks Inc.とソリューションパートナー契約を締結し、クラウド・データプラットフォーム「Databricks」の導入・構築、および活用支援を開始しています。

NTTデータではこれまでも、独自ノウハウに基づき、ビッグデータ・AIなど領域に係る市場競争力のあるさまざまなソリューションパートナーとともにエコシステムを形成し、お客さまのビジネス変革を導いてきました。
Databricksは、これら先端テクノロジーとのエコシステムの形成に強みがあり、NTTデータはこれらを組み合わせることでお客さまに最適なインテグレーションをご提供いたします。

https://www.nttdata.com/jp/ja/lineup/databricks/

</div></details>