Apache Beam 中的 ParDo 与 FlatMap?

ParDo vs FlatMap in Apache Beam?

Dataflow/Apache Beam 中的 ParDoFlatMap 有区别吗?

我认为两者都对传入的每个元素应用一个函数 PCollection,return 可迭代;但我想一定有什么不同?

FlatMap是一个更简单的操作built as you might expect from ParDo。如果这符合您的需求,这是一个不错的选择。

ParDo 是一个较低级别的逐元素计算构建块,它具有其他功能,例如 side inputs, multiple output collections, access to the current window、一些用于启动和提交元素包的真正低级别回调,等等。

在实践中,FlatMapParDo 的许多使用最终都会产生类似的代码块,但在我看来,使用最简单(最高级别)的可用转换最易读。