0
回答
Spark-Sql toDF初始化失败
注册华为云得mate10,2.9折抢先购!>>>   

按照官方的文档,我写了两份初始化的代码,一个失败,一个成功,


case class RingTags(rid: String, tags: String, lts: Int, sts: Int) extends Serializable    
import sqlContext.implicits._val ringTags = rings.map(_.split("\t") match { case m: Array[String] => RingTags(m(0), m(5), m(13).toInt, m(4).toInt) }) ringTags.toDF().registerTempTable("ringTags")

这个方式执行报错,是在ToDF方法里报错报java.reflect.NoSuchMethod异常

spark的版本是1.3.0我的那个写法是有什么问题么

val fields = "rid,tags,lts,sts"
    val schema = StructType(fields.split(",").map(fieldName => StructField(fieldName, StringType, true)))

    val ringTags = rings.map(_.split("\t") match { case m: Array[String] => Row(m(0), m(5), m(13).toInt, m(4).toInt) })

    val dataFrame = sqlContext.createDataFrame(ringTags, schema)//.cache()

    dataFrame.registerTempTable("ringTags")

这个可以正确执行



举报
高旅
发帖于3年前 0回/2K+阅
顶部