2017-04-27 83 views
1

Dataflow/Apache Beam中的ParDoFlatMap有什么不同?Apache Beam中的ParDo与FlatMap?

我认为这两个函数都适用于传入的PCollection的每个元素,并返回可迭代;但我想象一定有一些区别?

回答

4

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

ParDo是具有像附加功能逐元素计算的较低级别的构建块side inputsmultiple output collectionsaccess to the current window,一些非常低的水平的回调之后启动事务元件的束,以及更多。

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

+0

谢谢,很明显。 尽管FWIW python示例使用带有侧面输入的'FlatMap':https://beam.apache.org/documentation/programming-guide/。 'ParDo'为你的建议,但其他人 – Maximilian