我试图在文件中保存一个双RDD,我的意思是双RDD是我有这个变量:
res: org.apache.spark.rdd.RDD[org.apache.spark.rdd.RDD[((String,String), Int)]] = MapPartitionsRDD[19]
我试着用
存储它res.saveAsTextFile(path)
但它不起作用,因为Spark不支持嵌套RDD,所以启动了一个例外代码示例:
val res = Listword.map { x =>
Listword.map { y =>
((x._1, y._1), x._2 + y._2)
}
}
res.saveAsTextFile("C:/Users/Administrator/Documents/spark/spark-1.6.0-bin-hadoop2.6")
答案 0 :(得分:3)
Spark不允许嵌套的RDD。在您的具体情况下,您可以使用cartesian
:
ListWord.cartesian(ListWord).map { case (x, y) =>
((x._1, y._1), x._2 + y._2)
}