繁体   English   中英

如何将案例类RDD转换为RDD[String]?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM