ParDo
和FlatMap
在Dataflow / Apache Beam中有区别吗?
我认为两者都将函数应用于传入的PCollection
中的每个元素,并返回可迭代对象;但我想必定存在一些差异?
ParDo
和FlatMap
在Dataflow / Apache Beam中有区别吗?
我认为两者都将函数应用于传入的PCollection
中的每个元素,并返回可迭代对象;但我想必定存在一些差异?
FlatMap
是一个更简单的操作,就像你从ParDo
中期望的那样构建。如果这符合您的需求,那么它是一个很好的选择。
ParDo
是逐个元素计算的较低级别构建块,具有其他功能,例如侧面输入、多个输出集合、访问当前窗口,一些真正低级别的回调函数用于启动和提交元素束等等。
在实践中,许多FlatMap
和ParDo
的使用最终都会得到类似的代码块,但我认为使用可用的最简单(最高级)转换最易读。
FlatMap
:https://beam.apache.org/documentation/programming-guide/。对于其他情况,您建议使用`ParDo`。 - Maximilian