JavaRDD<String> input = xyz.sc.textFile("/home/spark/Documents/XYZ");
JavaRDD<String> infoRDD = input.mapToPair(new
PairFunction<String,String,String>(){
public Tuple2<String, String> call(String x) {
return new Tuple2<String, String>(x.substring(0, 2), x);
}}).groupByKey(12).flatMap(new
FlatMapFunction<Tuple2<String,Iterable<String>>, String>() {
public Iterable<String> call(Tuple2<String, Iterable<String>> t)
throws Exception {
return t._2();
}
});
上面是我的代码,我将基于密钥的数据分发到不同的分区,但是在一些分区中,两个不同密钥的数据被存储在预期与单个密钥相关的数据应存储在单个分区上的位置。
预期
key1(data) - &gt; partion1
key2(data) - &gt; partion2
key3(data) - &gt; partion3