reduce :函数获取累计值和下一个值以查找某些聚合。 reduceByKey :也与指定键的操作相同。 reduceGroups :是对分组数据应用指定的操作。我不知道这些操作是如何管理内存的。例如,在使用 reduce 功能(例如所有加载到内存的数据?)?我想知道如何为reduce操作管理数据。我还想知道,根据数据管理,这些操作之间有什么区别。
reduce
reduceByKey
reduceGroups
i2loujxw1#
reduce是spark中最便宜的操作之一,因为它所做的唯一事情实际上是将相似的数据分组到同一个节点上。reduce操作的唯一代价是读取元组并决定将元组分组到何处。这意味着 reduce ,与 reduceByKey 或者 reduceGroups 因为spark不知道如何进行分组和搜索元组之间的关联,所以它的成本更高。如果元组不满足任何要求,reduce也可以忽略它。
1条答案
按热度按时间i2loujxw1#
reduce是spark中最便宜的操作之一,因为它所做的唯一事情实际上是将相似的数据分组到同一个节点上。reduce操作的唯一代价是读取元组并决定将元组分组到何处。这意味着
reduce
,与reduceByKey
或者reduceGroups
因为spark不知道如何进行分组和搜索元组之间的关联,所以它的成本更高。如果元组不满足任何要求,reduce也可以忽略它。