数据流/Apache Beam中的ParDoFlatMap之间有区别吗?

我认为两者都对传入的PCollection的每个元素都应用了一个函数,并返回了iterable;但我想一定有区别吗?

最佳答案

FlatMap是一个更简单的操作built as you might expect from ParDo 。如果这符合您的需求,这是一个不错的选择。
ParDo是元素级计算的较低级构建块,具有其他功能,例如side inputsmultiple output collectionsaccess to the current window,一些用于启动和提交元素束的非常​​低级的回调等。

实际上,FlatMapParDo的许多使用最终都具有类似的代码量,但是在我看来,使用最简单的(最高级别)转换是最易读的。

09-12 17:08