我有一个RDD,其中每个条目都属于一个类。我想将单个RDD分成几个RDD,以便同一类别的所有条目都进入一个RDD。假设我在输入RDD中有100个这样的类别,我希望每个类别都有自己的RDD。我可以为每个类别使用过滤器(如下所示)来完成此操作,但这将启动多个作业。有没有更好的方法在单个作业中完成它?
def method(val input:RDD[LabeledPoint], val classes:List[Double]):List[RDD] =
classes.map{lbl=>input.filter(_.label==lbl)}
这类似于另一个问题,但我有超过2个类(大约10个)