有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java可以同时生成多个RDD

原始fileRDD是由

sc.wholeTextFiles(path) 

fileRDD的关键是文件名,值是文件内容。 当我遍历一个文件内容(值)时,我可以得到很多信息。所以我想在遍历一个文件后生成多个RDD。例如:我定义了三个类

public class Interface implements Serializable
public class VPNInstance implements Serializable
public class Equipment implements Serializable

使用映射操作后:

fileRDD.map(traverse function)

返回

RDD<Interface>, RDD<VPNInstance> and RDD<Equipment>

同时。否则,我需要遍历文件内容三次以生成三个RDD

那么,有没有一种同时生成多个RDD的解决方案


共 (1) 个答案

  1. # 1 楼答案

    当然,编写一个遍历函数来创建如下对象:

    public class Record implements Serializable {
        private Interface interface;
        private VPNInstance vpnInstance;
        private Equipment equipment;
    }
    

    映射数据集后,使用cache()persist()避免重新计算