笔者在学习Spark的过程中编译如下代码:
val movies = data.map(m=>Movie(m(0).trim.toInt,m(1),m(2))).toDF()
//打印数据模式
movies.printSchema
报错:
value toDF is not a member of org.apache.spark.rdd.RDD[]
val movies = data.map(m=>Movie(m(0).trim.toInt,m(1),m(2))).toDF()
解决办法:
1)将自定义的case class 放在main方法的外部
case class Movie(MovieId:Int,title:String,Genres:String)
def main(args: Array[String]): Unit = {
XXX
}
2)加入隐式转换
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._