7.12. 关于集合和非集合之间的映射


在数据 映射程序 源和目标 面板中

  • Collection icon 表示集合。如果集合包含一个原语类型,您可以直接从或映射到该集合。如果集合包含两个或多个不同类型的类型,数据映射器会显示集合的子字段,您可以映射到集合的字段或从集合的字段映射。
  • Folder icon 表示是一个复杂类型的可扩展容器。复杂的类型包含不同类型的多个字段。复杂类型中的一个字段可以是集合的类型,如数组。您无法映射复杂类型容器本身。您只能映射复杂类型中的字段。

要切换数据类型的显示,如 (COMPLEX), STRING, INTEGER,点 Show/hide types icon

集合到非集合(多到一)映射

当您从 collection 字段映射到非集合字段时,数据映射器可以识别多对一的映射。默认行为是数据映射程序将 Concatenate 转换应用到源集合或源集合字段。默认分隔符是一个空格。例如,考虑这个源集合:

  • 在第一个元素中,城市 字段中的值为 Boston
  • 在第二个元素中,ity 字段中的值 Paris
  • 在第三个元素中,city 字段的值为

在执行过程中,数据映射程序使用填充目标字段

塞尔兰西亚哥伦敦

您可以通过应用不同的转换来更改此默认行为。例如,若要仅从您选择的元素映射,请应用 Item At transformation to the source 并指定索引。要映射源集合中第一个元素中的值,请为索引指定 0。

如果源集合包含您没有映射的字段,这些字段仍可提供给流中的后续步骤。

非集合到集合(一对多)映射

当您从非集合 source 字段映射到目标集合或位于 collection 元素中的 target 字段时,数据映射器会识别一对多映射。默认行为是,数据映射程序通过将空格用作分隔符并将源值拆分为多个值来应用 Split 转换。在执行过程中,数据映射器会将每个分割值插入到目标集合中自己的元素中。例如,如果 source 字段被分成 4 个值,则目标集合有 4 个元素。

例如,考虑一个包含以下内容的非 集合 cities source 字段:

塞尔兰西亚哥伦敦

您可以将此 source 字段映射到目标集合或位于集合中的 target 字段。在执行期间,数据映射器会将 cities 字段的值 分成空格分隔符。结果是一个包含三个元素的集合。在第一个元素中,城市 字段的值是 Boston。在第二个元素中,ity 字段的值 Paris。在第三个元素中,qity 字段的值

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.