我的问题是这样的,我想把一个RDD按元素划分为多个RDD,然后把所有子RDD放到一个list里。有什么好方法吗?我知道有randomsplit,但我想以每个元素变成一个RDD。并且RDD是不能嵌套的。
还有就是我想到这样做,但我觉得反复用sc.makeRDD(x)是不行的,但我debug也不报错,就是打印不出来东西,请问sc.makeRDD()可以吗?下面是实现函数,其中rdd1就是父RDD。rdd1.foreach。谢谢大家了~
def splitRDD(rdd1:RDD[List[(String, String)]]):List[RDD[(String,String)]] ={
var list = ListRDD[(String,String)]
//println(rdd1.take(1).apply(0).apply(0)._1)
rdd1.foreach(x =>{
val ss =sc.makeRDD(x)
}
//println(x.apply(0)._1)
)
list
}