我有两个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文件中有一个额外的空白行,它引入了一个",并且失败了连接的结果。谢谢大家的答复。