7.11. 使用 data mapper 处理集合


在流中,当步骤输出集合以及流中的后续连接时,需要一个集合作为输入,您可以使用 datamapper 指定如何处理集合的方式。

当步骤输出集合时,流视觉化会在步骤的详细信息中显示 Collection。例如:

Data Type: SQL Result (Collection)

在提供集合并在需要映射的步骤之前,添加数据映射步骤。在此数据映射程序步骤中的流程需要完全取决于流程中的其它步骤。下图显示了从源集合字段到目标集合字段的映射:

mapping collection

在源和目标面板中,数据映射器会显示 the Collection icon 来表示集合。

当集合是复杂的类型时,数据映射程序会显示集合的子字段。您可以从/映射到每个字段。

当源字段嵌套到多个集合中时,您可以将其映射到满足这些状况的目标字段:

  • target 字段嵌套在与 source 字段相同的集合数量中。例如,允许这些映射:

    • /A<>/B<>/C /D<>/E<>/F
    • /A<>/B<>/C /G<>/H/I<>/J
  • target 字段只嵌套在一个集合中。例如,允许这个映射:

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

    在这种情况下,数据映射程序使用深度第一算法来迭代源中的所有值。因此,数据映射程序会将源值放在单个目标集合中。

不允许使用以下映射:

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

当 Fuse Online 执行流时,它会迭代源集合元素来填充目标集合元素。如果您将一个或多个源集合字段映射到目标集合或目标集合字段,则目标集合元素仅包含映射字段的值。

如果您将源集合中的源集合或字段映射到不在集合中的目标字段,那么当 Fuse Online 执行流时,它将仅从源集合中的最后一个元素分配值。集合中的所有其他元素在此映射步骤中会被忽略。但是,任何后续映射步骤都可以访问源集合中的所有元素。

当连接返回 JSON 或 Java 文档中定义的集合时,数据映射程序通常可以将源文档作为集合处理。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat