值toDF不是成员org.apache.spark.rdd.RDD

时间:2016-07-05 09:34:17

标签: scala apache-spark spark-dataframe

def main(args: Array[String]) {
    val conf = new SparkConf().setMaster("local").setAppName("test")
    val sc = new SparkContext(conf)
    //require spark sql environment
    val sqlContext = new org.apache.spark.sql.SQLContext(sc)
    import sqlContext.implicits._
    val df1 = sc.makeRDD(1 to 5).map(i => (i, i * 2)).toDF("single", "double")
    sc.stop()
  }

我写过“import sqlContext.implicits._”; 但它仍然无效。它恰好在火花壳中。 为什么在这种情况下不对? 我已经看到很多其他方法将rdd转换为数据框, 但我的大部分代码都写成了DF()。 如何使toDF工作? 错误:

Error:(25, 55) value toDF is not a member of org.apache.spark.rdd.RDD[(Int, Int)]
val df1 = sc.makeRDD(1 to 5).map(i => (i, i * 2)).toDF("single", "double")
                                                  ^

1 个答案:

答案 0 :(得分:0)

Spark版本1.3中添加了

toDF(), 您必须使用Spark的旧版本(小于1.3),这就是您收到此错误的原因。
要解决此问题,请使用Spark 1.3或更高版本。