目次

Search

  1. はじめに
  2. パイプラインのパーティション化について
  3. パーティションポイント
  4. パーティションタイプ
  5. プッシュダウンの最適化
  6. プッシュダウンの最適化およびトランスフォーメーション
  7. リアルタイム処理
  8. コミットポイント
  9. 行エラーのロギング
  10. ワークフローリカバリ
  11. 停止と強制終了
  12. コンカレントワークフロー
  13. グリッド処理
  14. ロードバランサ
  15. ワークフロー変数
  16. セッションのパラメータおよび変数
  17. パラメータファイル
  18. FastExport
  19. 外部データのロード
  20. FTP
  21. セッションのキャッシュ
  22. 差分集計
  23. セッションログインタフェース
  24. バッファメモリについて
  25. 高精度データ

詳細ワークフローガイド

詳細ワークフローガイド

ルックアップトランスフォーメーション

ルックアップトランスフォーメーション

ルックアップトランスフォーメーションにプッシュダウンの最適化を設定した場合、データベースは、データベースルックアップテーブルでルックアップを実行します。データベースにルックアップトランスフォーメーションをプッシュすると、行ごとに追加のサブクエリが必要になるため負荷が高くなります。ルックアップの回数が多いマッピングのパフォーマンスを向上させるには、プッシュダウンの最適化を使用する代わりに、PowerCenterでルックアップキャッシュを有効にします。
次の表に、ルックアップトランスフォーメーションをプッシュできるデータベースごとにプッシュダウンタイプを示します。
データベース
プッシュダウンタイプ
Amazon Redshift
ソース側、完全
Greenplum
ソース側、完全
IBM DB2
ソース側、ターゲット側、完全
Microsoft SQL Server
ソース側、完全
Netezza
ソース側、完全
Oracle
ソース側、ターゲット側、完全
PostgreSQL
ソース側、完全
SAP HANA
ソース側、ターゲット側、完全
Snowflake
ソース側、完全
Sybase ASE
ソース側、完全
Teradata
ソース側、完全
ODBC
ソース側、完全
ルックアップトランスフォーメーションのロジックをデータベースにプッシュするようにIntegration Serviceを設定する際には、次のルールおよびガイドラインを使用してください。
  • データベースはトランスフォーメーションロジックの処理時にPowerCenterキャッシュを使用しません。
  • 複数のルックアップトランスフォーメーションが別個のパイプラインブランチに存在していて、ブランチがダウンストリームで統合されている場合、Integration Serviceはパイプラインブランチの後のすべてのトランスフォーメーションを処理します。
  • ターゲット側に対してプッシュダウン最適化を実行するように設定されたセッションがデータタイプ変換を必要とする場合、このセッションは失敗します。
  • Integration Serviceと異なり、Netezzaデータベースは単一のルックアップに対して複数の行を返すことができます。
  • ルックアップトランスフォーメーションにSQLオーバーライドが含まれるか、フィルタが含まれるか、あるいはルックアップトランスフォーメーションが接続されていないルックアップトランスフォーメーションである場合は、ビューを使用してプッシュダウンの最適化を設定します。
  • マッピングにNetezza、Redshift、Snowflakeの各テーブルのルックアップが含まれ、ルックアップ一致ポリシーが
    [すべての値を使用]
    以外のポリシーオプションに設定されている場合、ルックアップトランスフォーメーション時、プッシュダウンの最適化は停止します。ルックアップ一致ポリシーが
    [すべての値を使用]
    または
    [エラーを報告]
    以外のポリシーオプションに設定されている場合、その他すべてのデータベースにおいて、プッシュダウンの最適化は停止します。
以下の条件のいずれかに該当する場合、ルックアップトランスフォーメーションはIntegration Serviceによって処理されます。
  • トランスフォーメーションがパイプラインルックアップに設定されている。
  • トランスフォーメーションに動的キャッシュが使用されている。
  • 最初、最後、または任意のマッチング値を返すようにトランスフォーメーションが設定されている。プッシュダウンの最適化を使用するには、複数の一致についてエラーがレポートされるようにルックアップトランスフォーメーションを設定する必要があります。
  • トランスフォーメーションでは、データベース内でビューが作成され、ルックアップ入力を提供するデータベースがビューの作成元データベースとは異なっていることが要求される。
  • トランスフォーメーションは、Microsoft SQL Server、Sybase、またはTeradataにプッシュされ、アグリゲータトランスフォーメーションからのダウンストリームであるソータトランスフォーメーションからのダウンストリームである。
  • セッションがソース行をすべてアップデートとしてマークするように設定されており、Teradataへのプッシュダウンの最適化が設定されている。
  • ソース側のプッシュダウンの最適化を実行するようにセッションが設定され、ルックアップテーブルとソーステーブルが別々のリレーショナルデータベース管理システム内に存在する。
  • ターゲット側のプッシュダウンの最適化を実行するようにセッションが設定され、ルックアップテーブルとターゲットテーブルが別々のリレーショナルデータベース管理システム内に存在する。
  • The Integration Serviceにより、Netezzaデータベースターゲットに対してトランスフォーメーションのプッシュが試行される。