分散処理用のデータフローの設計

分散処理は、データフローの各パーツを受け取り、それらのパーツの処理を Spectrum™ Technology Platform サーバー群のクラスタに分散させます。例えば、データフローでジオコーディングを実行する場合は、パフォーマンス向上のために、ジオコーディング処理をクラスタ内の複数の Spectrum™ Technology Platform ノード間で分散させることができます。

  1. データフローのどのステージを分散させるのかを決定したうえで、分散化するステージを含むサブフローを作成します。

    次のステージは、分散処理で使用されるサブフローでは使用しないでください。

    • Sorter
    • Unique ID Generator
    • Record Joiner
    • Interflow Match

    次のステージは、分散処理用のサブフロー内で一緒に使用する必要があります。

    • マッチング ステージ (Intraflow Match、Transactional Match) および統合ステージ (Filter、Best of Breed、Duplicate Synchronization)
    • Aggregator および Splitter

    サブフロー内には別のサブフロー (ネストされたサブフロー) を含めないでください。

    分散処理に使用されるサブフロー内でマッチング操作を実行する場合は、次の点に注意してください。

    • ソートは、サブフロー内ではなくジョブ内で行う必要があります。ソートは、ステージ内ではオフにし、ジョブ レベルで配置する必要があります。
    • マッチ分析は、分散サブフローではサポートされていません。
    • コレクション番号は、マイクロフロー バッチ グループ内で再利用されます。

    サブフローで Write Exception ステージを使用すると、予期せぬ結果が生じることがあります。代わりに、ジョブ レベルでこのステージをデータフローに追加してください。

  2. 分散化するデータフローの一部としてサブフローを作成した後は、そのサブフローを親データフローに追加し、上流および下流ステージに接続します。分散処理で使用されるサブフローは、入力ポートを 1 つだけ持つことができます。
  3. サブフローを右クリックして、[オプション] を選択します。
  4. [分散] を選択します。
  5. 各サーバーに送信するマイクロフローの数を入力します。
  6. 各マイクロフロー バッチに含めるレコードの数を入力します。
  7. オプション: (オプション) [グループ フィールド名] にチェックを入れ、マイクロフロー バッチをグループ化するフィールドの名前を選択します。

    グループ フィールドを指定した場合は、グループが複数のバッチに分割されないので、バッチ サイズが [マイクロ フロー バッチ サイズ] フィールドで指定した値より大きくなる可能性があります。例えば、バッチ サイズとして 100 を指定したのに同じグループ内に 108 のレコードがある場合、バッチには 108 レコードが含まれます。同様に、バッチ サイズとして 100 を指定し、同じ ID を持つ 28 レコードの新しいグループがレコード 80 から始まる場合、そのバッチには 108 レコードが含まれます。

    以下に、My Distributed Subflow という名前のサブフローが分散モードで実行されるように設定されたデータフローの例を示します。