Dataflow / Apache Beam中的ParDo
和FlatMap
之间是否存在差异?
我认为两者都将一个函数应用于传入的PCollection
的每个元素,并返回迭代;但我想一定有一些区别?
答案 0 :(得分:7)
FlatMap
是一种更简单的操作built as you might expect from ParDo
。如果这符合您的需求,那么这是一个不错的选择。
ParDo
是元素计算的低级构建块,具有side inputs,multiple output collections,access to the current window等附加功能,可以启动一些非常低级别的回调并提交一系列元素等等。
在实践中,FlatMap
和ParDo
的许多用法最终会产生类似的代码批量,但在我看来,使用最简单(最高级别)的转换是最可读的。