假设我有一些数据:
A B值
1 1 40
1 2 3
1 2 5
2 1 6
2 2 10
在数据框中(比如'df')。在A和B上分别划分为:
df.repartition($"A",$"B")
现在,假设我们应该计算每个分区中可被2或5整除的值的数量(分别)。维护与可用分区数量一样多的变量是不合理的。做这件事的最佳方式是什么?
(请提供适用于Spark 1.6+的解决方案)
您可以使用. mappartition转换对特定分区进行任何特定的计算。例:
rdd.mapPartition{x=>
var s=0
x.map{
//operation on elements of each partition
}
}