【发布时间】:2016-11-15 18:20:15
【问题描述】:
DocsRDD:
RDD[Vector[String]]
DocsRDD:
Vector(Doc1.txt, Doc2.txt, Doc5.txt)
Vector(Doc4.txt, Doc3.txt)
Vector(Doc6.txt, Doc9.txt)
我想要的只是所有对偶文档,例如我想要的 DocsRDD
AllDualDocsRDD:
Vector(Doc1.txt, Doc2.txt)
Vector(Doc1.txt, Doc5.txt)
Vector(Doc2.txt, Doc5.txt)
Vector(Doc4.txt, Doc3.txt)
Vector(Doc6.txt, Doc9.txt)
以下是我的代码示例(我是 Spark、Scala 的新手)。
val AllDualDocsRDD = DocsRDD.map(e => if (e.size > 2) {
val V_iter = (1 to e.size).flatMap(e.combinations).filter(_.size == 2).toVector
V_iter.foreach(println)
//Here I Cannot put V_iter : scala.Vector[Vector[String]]
}
else e)
但看来我已经撞墙了!有谁知道我如何做到这一点?
【问题讨论】:
标签: scala apache-spark rdd