相关疑难解决方法(0)

Apache Spark:使用RDD.aggregateByKey()的RDD.groupByKey()的等效实现是什么?

Apache Spark pyspark.RDDAPI文档提到groupByKey()效率低下.相反,它是推荐使用reduceByKey(),aggregateByKey(),combineByKey(),或foldByKey()代替.这将导致在shuffle之前在worker中进行一些聚合,从而减少跨工作人员的数据混乱.

给定以下数据集和groupByKey()表达式,什么是等效且有效的实现(减少的跨工作者数据混洗),它不使用groupByKey(),但提供相同的结果?

dataset = [("a", 7), ("b", 3), ("a", 8)]
rdd = (sc.parallelize(dataset)
       .groupByKey())
print sorted(rdd.mapValues(list).collect())
Run Code Online (Sandbox Code Playgroud)

输出:

[('a', [7, 8]), ('b', [3])]
Run Code Online (Sandbox Code Playgroud)

apache-spark rdd pyspark

11
推荐指数
1
解决办法
8486
查看次数

标签 统计

apache-spark ×1

pyspark ×1

rdd ×1