Fold,Reduce,Aggregate的Spark Async接口?

时间:2015-03-31 15:45:22

标签: asynchronous apache-spark future

官方Spark RDD API:

https://spark.apache.org/docs/2.1.0/api/java/org/apache/spark/rdd/AsyncRDDActions.html

count,collect,foreach,并且所有都具有返回Future的异步变体。

为什么折叠,缩小和聚合没有这个异步/未来接口?这似乎非常重要。

1 个答案:

答案 0 :(得分:0)

!!!编辑的

@Jan Van den bosch是对的(见下面的评论)。这个问题根本不是转型。如果其他人被愚弄,我在下面留下了误导的答案。

!!!原始答案(不正确)

TL; DR:区别在于火花"动作"与"转换":https://spark.apache.org/docs/2.2.0/rdd-programming-guide.html#rdd-operations

请注意,您使用异步选项列出的所有内容都是spark " actions" ,这意味着他们将立即开始处理数据并尝试同步返回。如果有大量数据可能需要很长时间,因此拥有异步选项会很不错。

与此同时,您在没有异步选项的情况下列出的操作是火花"转换" ,它们会被懒惰地评估,这意味着它会立即创建一个计划来完成工作,但它赢得了#39; t实际上处理任何数据,直到你应用"动作"稍后返回结果。

与此同时,您是否有特定代码或您尝试使用此问题解决的问题?