reduce,reduceByKey,Spark或Flink中的reduceGroups

问题描述 投票:0回答:1

reduce:函数使用累加值和下一个值来查找某个聚合。

reduceByKey:与指定键也相同。

reduceGroups:将指定的操作应用于分组的数据。

我不知道这些操作如何管理内存。例如,在使用reduce功能时如何获取数据(例如,所有数据已加载到存储器中?)?我想知道如何管理数据以减少操作。我还想知道根据数据管理,这些操作之间有什么区别。

apache-spark apache-spark-sql mapreduce apache-flink
1个回答
0
投票

Reduce是Spark中最便宜的操作之一,因为它唯一要做的实际上是将相似的数据分组到同一节点。reduce操作的唯一开销是读取元组并决定应将其放在哪里。分组。这意味着与reducereduceByKey相比,简单的reduceGroups更加昂贵,因为Spark不知道如何进行分组并搜索元组之间的相关性。

Reduce也可以忽略不满足任何条件的元组。

© www.soinside.com 2019 - 2024. All rights reserved.