GroupBy与ReduceBy:GroupBy不好吗? 如果GroupByKey太糟糕了,并且其结果与ReduceByKey相同,那么为什么spark创建了此函数? 应该有一个用例,其中GroupByKey消耗更多的网络带宽和改组,但在某些情况下仍然比ReduceBy和AggregateBy有用。 如果根本没有用,则应在以后的版本中从Spark删除此功能。
答案 0 :(得分:0)
ReduceByKey可以像Hadoop Combiner一样使混洗最小化。
也就是说,groupByKey有时是必需的,但是请尝试将其应用于经过处理的数据。如链接所示,如果将groupByKey用于求和,则需要额外的逻辑,这意味着对于RDD,不应从Spark中删除groupByKey。
对于数据框,有groupBy,而Catalyst在后台进行了优化。