gpt4 book ai didi

apache-spark - 如何从 Spark PairRDD 存储和读取数据

转载 作者:行者123 更新时间:2023-12-04 04:48:33 25 4
gpt4 key购买 nike

Spark PairRDD 可以选择保存文件。

JavaRDD<String> baseRDD = context.parallelize(Arrays.asList("This", "is", "dummy", "data"));

JavaPairRDD<String, Integer> myPairRDD =
baseRDD.mapToPair(new PairFunction<String, String, Integer>() {

@Override
public Tuple2<String, Integer> call(String input) throws Exception {
// TODO Auto-generated method stub
return new Tuple2<String, Integer>(input, input.length());
}
});

myPairRDD.saveAsTextFile("path");

Spark 上下文 textfile仅将数据读取到 JavaRDD。

如何直接从源重建 PairRDD?

注:
  • 可能的做法是将数据读到JavaRDD<String>并构建 JavaPairRDD .

  • 但是对于庞大的数据,它需要大量的资源。
  • 以非文本格式存储这个中间文件也可以。
  • 执行环境 - JRE 1.7
  • 最佳答案

    如果您不介意结果文件不是人类可读的,您可以将它们保存为目标文件。

    保存存档:

    myPairRDD.saveAsObjectFile(path);

    然后你可以像这样阅读对:

    JavaPairRDD.fromJavaRDD(sc.objectFile(path))

    编辑:

    工作示例:

    JavaRDD<String> rdd = sc.parallelize(Lists.newArrayList("1", "2"));
    rdd.mapToPair(p -> new Tuple2<>(p, p)).saveAsObjectFile("c://example");
    JavaPairRDD<String, String> pairRDD
    = JavaPairRDD.fromJavaRDD(sc.objectFile("c://example"));
    pairRDD.collect().forEach(System.out::println);

    关于apache-spark - 如何从 Spark PairRDD 存储和读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30500141/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com