[英]How to convert case class RDD to RDD[String]?
我有一个模式rdd。 如果我打印那个 RDD,我会得到像 caseclass_name(col a, col b,col c) caseclass_name(col d,col e, col f) ..... .... 我需要简单地显示为(前面没有case类名) col a, col b, col c col d, col e, col f
我怎样才能得到这个? 请协助
val tenColumns1 = afterSplit1.filter(x => x.length == 4)
案例类 iclass(Id1:Int,Id2:Int,SaleDate:String,Code:String)
val insureRDD1 = tenColumns1.map( i => iclass(i(0).toInt,i(1).toInt,i(2),i(3))) insureRDD1.take(2).foreach(println)
输出:
iclass(32,35,2013-10-05,AK)
iclass(36,38,2014-12-25,AK)
我需要输出为:
32,35,2013-10-05,AK
36,38,2014-12-25,AK
最简单的解决方案是覆盖案例类中的toString
方法
case class iclass(Id1:Int,Id2:Int,SaleDate:String,Code:String) {
override def toString(): String = {
s"$Id1,$Id2,$SaleDate,$Code"
}
}
如果你有一个RDD[iclass]
并且想把它转换成一个RDD[String]
,你可以像insureRDD1.map(_.toString)
一样映射它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.