我用java来玩火花.我想对我的地图进行排序.事实上,我有这样的javaRDD:
JavaPairRDD<String, Integer> rebondCountURL = session_rebond_2.mapToPair(new PairFunction<Tuple2<String, String>, String, String>() {
@Override
public Tuple2<String, String> call(Tuple2<String, String> stringStringTuple2) throws Exception {
return new Tuple2<String, String>(stringStringTuple2._2, stringStringTuple2._1);
}
}).groupByKey().map(new PairFunction<Tuple2<String, Iterable<String>>, Tuple2<String, Integer>>() {
@Override
public Tuple2<String, Integer> call(Tuple2<String, Iterable<String>> stringIterableTuple2) throws Exception {
Iterable<String> strings = stringIterableTuple2._2;
List<String> b = new ArrayList<String>();
for (String s : strings) {
b.add(s);
}
return new Tuple2<String, Integer>(stringIterableTuple2._1, b.size());
}
});
Run Code Online (Sandbox Code Playgroud)
我想使用Sortby对此Java Rdd进行排序(以便使用Integer进行排序).
你能帮帮我吗?
先感谢您.
Not*_*ist 14
您需要创建一个从每个元素中提取排序键的函数.我们的代码示例
final JavaRDD<Something> stage2 = stage1.sortBy( new Function<Something, Long>() {
private static final long serialVersionUID = 1L;
@Override
public Long call( Something value ) throws Exception {
return value.getTime();
}
}, true, 1 );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7735 次 |
| 最近记录: |