原始文件RDD由
创建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的解决方案?
答案 0 :(得分:0)
当然,编写一个遍历函数来创建这样的对象:
public class Record implements Serializable {
private Interface interface;
private VPNInstance vpnInstance;
private Equipment equipment;
}
映射数据集后,使用cache()
或persist()
以避免重新计算。