Apache spark 使用groupBy时spark是否进行本地聚合?

Apache spark 使用groupBy时spark是否进行本地聚合?,apache-spark,Apache Spark,我知道,rdd.groupByKey()洗牌所有内容,然后进行后续操作。因此,如果需要对行进行分组和转换,groupByKey将洗牌所有数据,然后才进行转换。这在还原转换和大量具有相同分组键的行的情况下是低效的,因为在使用局部还原进行洗牌之前,每个分区内的行数可能会大大减少。datset.groupBy()的作用是否相同 我一回答完这个问题就开始使用Spark 1.6,我注意到:“此函数不支持部分聚合,因此需要洗牌数据集中的所有数据。如果应用程序打算对每个键执行聚合,最好使用reduce函数或o

我知道,
rdd.groupByKey()
洗牌所有内容,然后进行后续操作。因此,如果需要对行进行分组和转换,
groupByKey
将洗牌所有数据,然后才进行转换。这在还原转换和大量具有相同分组键的行的情况下是低效的,因为在使用局部还原进行洗牌之前,每个分区内的行数可能会大大减少。
datset.groupBy()的作用是否相同


我一回答完这个问题就开始使用Spark 1.6

,我注意到:“此函数不支持部分聚合,因此需要洗牌数据集中的所有数据。如果应用程序打算对每个键执行聚合,最好使用reduce函数或org.apache.spark.sql.expressions#Aggregator。“在mapGroups中,我想使用的方法似乎是我需要的combineByKey,它在本地进行聚合。完成问题后,我注意到:此函数不支持部分聚合,因此需要洗牌数据集中的所有数据。如果应用程序打算对每个键执行聚合,最好使用reduce函数或org.apache.spark.sql.expressions#Aggregator。“在我想要使用的mapGroups方法中,我需要的似乎是combineByKey,它在本地进行聚合。