Spark / Scala Rdd和DataFrame的groupBy函数之间的任何工作差异[重复]

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

这个问题在这里已有答案:

我已经检查过并且有点好奇了解RDD和DataFrame的groupBy函数。是否有任何性能差异或其他?请建议。

apache-spark dataframe spark-dataframe rdd
1个回答
-1
投票

想想DataFrame.groupByRDD.groupBy之间的区别,RDD的groupBy变体不像DataFrame的groupBy变体那样保留顺序。

df.orderBy($"date").groupBy($"id").agg(first($"date") as "start_date")

以上工作符合预期,即汇总结果将由date订购。由于RDD和DataFrame的名称听起来相同,人们可能会认为它在RDD中也会按预期工作,但不是,但事实并非如此。原因是RDD的groupBy和DataFrame的groupBy的实现是非常不同的。 RDD的groupBy可能会根据密钥对数据进行混洗。

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