目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

ユーザーガイド

ユーザーガイド

Blazeエンジンでのアップデートストラテジトランスフォーメーション

Blazeエンジンでのアップデートストラテジトランスフォーメーション

Blazeエンジンの処理ルールには、データ統合サービスの処理ルールと異なるものがあります。

一般的な制限

Hive ACIDをサポートするHadoopディストリビューションで、アップデートストラテジトランスフォーメーションを使用できます。
アップデートストラテジトランスフォーメーションが、同じプライマリキー値に対して複数の行の更新を受け取った場合、トランスフォーメーションは1つのランダムな行を選択してターゲットを更新します。
複数のアップデートストラテジトランスフォーメーションが、同じターゲットの異なるインスタンスに書き込む場合、ターゲットデータが予測できなくなる場合があります。
Blazeエンジンは、削除、更新、挿入の順番で操作を実行します。アップデートストラテジトランスフォーメーションが受け取った順番では行を処理しません。
Hiveターゲットは、更新を常に更新操作として実行します。Hiveターゲットは、[更新しない場合は挿入]または[挿入時に更新]をサポートしません。

マッピング検証とコンパイル検証

マッピング検証は、次の場合に失敗します。
  • アップデートストラテジトランスフォーメーションが、複数のターゲットに接続されている。
  • アップデートストラテジトランスフォーメーションが、ターゲットの直前に配置されていない。
  • アップデートストラテジターゲットがHiveターゲットではない。
  • アップデートストラテジトランスフォーメーションのターゲットが外部のACIDテーブルである。
  • ターゲットにプライマリキーが含まれていない。
  • 実行時にターゲットテーブルを切り詰めるためのHiveターゲットプロパティが有効になっている。
  • 実行時にターゲットテーブルを作成または置き換えるためのHiveターゲットプロパティが有効になっている。
マッピングは、次の場合に失敗します。
  • ターゲットがORCバケット化されていない。
  • 変更後のHiveターゲットで、実際のテーブルより行が少なくなっている。
次の場合に、コンパイル検証エラーが発生し、マッピングの実行が停止されます。
  • ターゲットテーブルがトランザクションに対して有効化されていない。
  • Hiveバージョンが0.14より古い。

Hiveターゲットテーブルの使用

アップデートストラテジトランスフォーメーションと一緒にHiveターゲットテーブルを使用するには、Hiveのデータ定義言語の句
TBLPROPERTIES ("transactional"="true")
を使用して、Hiveターゲットテーブルを作成する必要があります。
Hiveターゲットと一緒にアップデートストラテジトランスフォーメーションを使用するには、Hadoop接続に関連付けられたhive-site.xml設定セットに次のプロパティが設定されていることを確認します。
hive.support.concurrency true hive.enforce.bucketing true hive.exec.dynamic.partition.mode nonstrict hive.txn.manager org.apache.hadoop.hive.ql.lockmgr.DbTxnManager hive.compactor.initiator.on true hive.compactor.worker.threads 1