【发布时间】:2017-04-27 02:17:00
【问题描述】:
Dataflow / Apache Beam 中的ParDo 和FlatMap 有区别吗?
我认为两者都将函数应用于传入PCollection 的每个元素,并返回可迭代;但我想肯定有一些区别?
【问题讨论】:
标签: google-cloud-dataflow apache-beam
Dataflow / Apache Beam 中的ParDo 和FlatMap 有区别吗?
我认为两者都将函数应用于传入PCollection 的每个元素,并返回可迭代;但我想肯定有一些区别?
【问题讨论】:
标签: google-cloud-dataflow apache-beam
FlatMap 是一个更简单的操作built as you might expect from ParDo。如果这符合您的需求,这是一个不错的选择。
ParDo 是元素计算的较低级别构建块,它具有额外的功能,例如side inputs、multiple output collections、access to the current window、一些用于启动和提交元素包的非常低级别的回调等等.
在实践中,FlatMap 和 ParDo 的许多用法最终都会产生类似的代码量,但我认为使用可用的最简单(最高级别)转换是最易读的。
【讨论】:
FlatMap 和侧面输入:beam.apache.org/documentation/programming-guide。 ParDo 其他人,不过你的建议