如何打印已加入的RDD的结果



我有两个RDD:

scala> mgrMap.take(5).foreach(println)
(1,Cliff)
(2,Raj)
(3,Alim)
(4,Jose)
(5,Jeff)

salMap.take(5).foreach(println)
(1,100)
(2,200)
(3,300)
(4,400)
(5,500)

我加入了他们,并拥有第三个RDD:

scala> val joined = mgrMap.join(salMap)
scala> joined res14: org.apache.spark.rdd.RDD[(Int, (String, Int))] = MapPartitionsRDD[8] at join at <console>:35

我想要的是打印第三个rdd的内容作为格式,例如:

(1, Cliff, 100)
....
(5, Jeff, 500) 

我尝试过但不起作用:

scala> val joinedMap = joined.map(x=>(x._1, x._2._1, x._2._2))
joinedMap: org.apache.spark.rdd.RDD[(Int, String, Int)] = apPartitionsRDD[11] at map at <console>:37

当我加入mmap.first时,我有错误的错误:

18/02/26 21:02:42错误执行人:阶段19.0任务1.0中的例外 (tid 19(java.lang.numberformatexception:对于输入字符串:">

如果我运行

相同的错误
joined.collect

我的命令有什么问题?我如何显示RDD的预期结果,例如RDD [(int,string,int(]?

非常感谢。

我最终确定了拉梅什所说的根本原因。在第二个RDD中,RAW文件中有一个额外的空白行,它引入了一个",并且失败了连接的结果。谢谢大家的答复。

最新更新