[英]How to map keys of JavaPairRDD in spark?
我是Spark的新手,並且使用過sc.wholeTextFiles(path);
要讀取所有文件,該函數返回JavaPairRDD<String, String>
,而RDD的Key是每個文件的完整路徑,但是我想要的是將key更改為文件名。 它們是類似於mapValues(func)
的東西,但用於鍵。
這里的關鍵假設是JavaPairRDD<String, String>
與JavaRDD<Tuple2<String, String>>
。
換句話說, JavaPairRDD
只是元組的RDD
。 因此,您可以使用通用map
來僅修改元組鍵,並保持其值不變。
JavaPairRDD<String, String> input = sc.wholeTextFiles(path);
input.map(new Function<Tuple2<String,String>, Tuple2<String,String>>() {
@Override
public Tuple2<String, String> call(Tuple2<String, String> tuple) {
return new Tuple2<>(convertToFilename(tuple._1()), tuple._2());
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.