value toDF is not a member of org.apache.spark.rdd.RDD[People]

编译如下代码时,出现value toDF is not a member of org.apache.spark.rdd.RDD[People]  错误

val rdd : RDD[People]= sparkSession.sparkContext.textFile(hdfsFile,2).map(line => line.split(",")).map(arr => People(arr(0),arr(1).trim.toInt))

rdd.toDF

参考http://stackoverflow.com/questions/33704831/value-todf-is-not-a-member-of-org-apache-spark-rdd-rdd,针对此错误有人提出需要做到以下两点

1. import sqlContext.implicits._ 语句需要放在获取sqlContext对象的语句之后

2. case class People(name : String, age : Int) 的定义需要放在方法的作用域之外(即java的成员变量位置)


实际上只需要做到第二点即可解决错误

猜你喜欢

转载自blog.csdn.net/ronaldo4511/article/details/53379095