【发布时间】:2017-09-20 17:22:36
【问题描述】:
Apache Beam 支持多个运行器后端,包括 Apache Spark 和 Flink。我熟悉 Spark/Flink,我正在尝试了解 Beam 在批处理方面的优缺点。
看Beam word count example,感觉它和原生的Spark/Flink等价物很相似,可能语法稍显冗长。
我目前认为选择 Beam 而不是 Spark/Flink 来完成这样的任务并没有太大的好处。到目前为止我能做的唯一观察:
- 专业版:不同执行后端的抽象。
- 缺点:这种抽象的代价是对 Spark/Flink 中执行的确切内容的控制较少。
有没有更好的例子来突出 Beam 模型的其他优点/缺点?是否有任何关于失去控制如何影响性能的信息?
请注意,我并不是要求在流方面存在差异,this question 部分介绍了这些内容,this article 对此进行了总结(由于 Spark 1.X 已过时)。
【问题讨论】:
标签: apache-spark apache-flink apache-beam