7.11. データマッパーを使用したコレクションの処理


フローでは、ステップがコレクションを出力し、フローの後続のコネクションはコレクションを入力として想定する場合、データマッパーを使用してフローがどのようにコレクションを処理するかを指定できます。

ステップがコレクションを出力すると、フロービジュアライゼーションはステップの詳細で Collection を表示します。以下に例を示します。

Data Type: SQL Result (Collection)

データマッパーステップを、コレクションを提供するステップの後およびマッピングを必要とするステップの前に追加します。フローでこのデータマッパーステップが必要な場所は、フローの他のステップによって異なります。以下のイメージは、ソースコレクションフィールドからターゲットコレクションフィールドへのマッピングを示しています。

mapping collection

ソースおよびターゲットパネルで、データマッパーは the Collection icon を表示し、コレクションを示します。

コレクションがコンプレックスタイプの場合、データマッパにコレクションの子フィールドが表示されます。各フィールドをマップ元またはマップ先とすることができます。

ソースフィールドが複数のコレクションで入れ子になっている場合、以下の条件の 1 つを満たすターゲットフィールドにマップできます。

  • ターゲットフィールドは、ソースフィールドと同じ数のコレクションで入れ子になっています。たとえば、以下のマッピングが許可されます。

    • /A<>/B<>/C /D<>/E<>/F
    • /A<>/B<>/C /G<>/H/I<>/J
  • ターゲットフィールドは 1 つのコレクションでのみ入れ子になっています。たとえば、以下のマッピングが許可されます。

    /A<>/B<>/C /K<>/L

    この場合、データマッパーで深さ優先アルゴリズムが使用され、ソースのすべての値が反復処理されます。データマッパーによって、ソース値は発生順に単一のターゲットコレクションに配置されます。

以下のマッピングは許可されません。

/A<>/B<>/C cannot-map-to /M<>/N/O<>/P<>/Q

Fuse Online でフローが実行されると、ソースコレクション要素が繰り返し処理され、ターゲットコレクション要素が入力されます。1 つ以上のソースコレクションフィールドをターゲットコレクションまたはターゲットコレクションフィールドにマップする場合、ターゲットコレクション要素にはマップされたフィールドのみの値が含まれます。

ソースコレクションまたはソースコレクションのフィールドをコレクションではないターゲットフィールドにマップする場合、Fuse Online がフローを実行するときにソースコレクションの最後の要素のみから値を割り当てます。コレクションの他の要素は、そのマッピングステップで無視されます。しかし、後続のマッピングステップはソースコレクションのすべての要素にアクセスできます。

コネクションが JSON または Java ドキュメントに定義されたコレクションを返すと、データマッパーは通常コレクションとしてソースドキュメントを処理できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.