繁体   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