簡體   English   中英

如何在Spark中映射JavaPairRDD的鍵?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM