cap*_*104 7 python apache-spark rdd pyspark
返回与火花RDD中每个唯一键关联的最大行(值)的最佳方法是什么?
我正在使用python,我已经尝试了Math max,映射和按键和聚合减少.有没有一种有效的方法来做到这一点?可能是UDF?
我有RDD格式:
[(v, 3),
(v, 1),
(v, 1),
(w, 7),
(w, 1),
(x, 3),
(y, 1),
(y, 1),
(y, 2),
(y, 3)]
Run Code Online (Sandbox Code Playgroud)
我需要回复:
[(v, 3),
(w, 7),
(x, 3),
(y, 3)]
Run Code Online (Sandbox Code Playgroud)
领带可以返回第一个值或随机.
Dan*_*ula 15
实际上你有一个PairRDD.使用reduceByKey的最佳方法之一是:
(斯卡拉)
val grouped = rdd.reduceByKey(math.max(_, _))
Run Code Online (Sandbox Code Playgroud)
(蟒蛇)
grouped = rdd.reduceByKey(max)
Run Code Online (Sandbox Code Playgroud)
(Java 7)
JavaPairRDD<String, Integer> grouped = new JavaPairRDD(rdd).reduceByKey(
new Function2<Integer, Integer, Integer>() {
public Integer call(Integer v1, Integer v2) {
return Math.max(v1, v2);
}
});
Run Code Online (Sandbox Code Playgroud)
(Java 8)
JavaPairRDD<String, Integer> grouped = new JavaPairRDD(rdd).reduceByKey(
(v1, v2) -> Math.max(v1, v2)
);
Run Code Online (Sandbox Code Playgroud)
reduceByKey的API文档:
| 归档时间: |
|
| 查看次数: |
12170 次 |
| 最近记录: |