扁平化

Javadoc Javadoc


将多个 PCollection 对象合并到一个逻辑 PCollection 中。

默认情况下,输出 PCollection 的编码器与输入 PCollectionList 中第一个 PCollection 的编码器相同。但是,输入 PCollection 对象可以分别使用不同的编码器,只要它们都在您选择的语言中包含相同的数据类型。

当使用 Flatten 合并应用了窗口策略的 PCollection 对象时,您要合并的所有 PCollection 对象都必须使用兼容的窗口策略和窗口大小。例如,您要合并的所有集合都必须使用(假设)相同的 5 分钟固定窗口或 4 分钟滑动窗口,每 30 秒开始一次。

如果您的管道尝试使用 Flatten 合并具有不兼容窗口的 PCollection 对象,则在构建管道时 Beam 会生成一个 IllegalStateException 错误。

有关更多信息,请参阅 Beam 编程指南

示例

示例:应用 Flatten 转换以合并多个 PCollection 对象

结果集合现在包含所有元素:“Hello”、“World”、“Beam”、“Is”和“Fun”。