【发布时间】:2016-07-05 09:34:17
【问题描述】:
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._”; 但是它仍然不起作用。它就在 spark-shell 中。 为什么在这种情况下不正确? 我已经看到了许多其他将 rdd 转换为数据框的方法, 但我的大部分代码都写成 toDF()。 如何使 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")
^
【问题讨论】:
-
这很有趣,我无法重新创建它,而且您的代码在这里运行良好,您对
sqlContext的调用是正确的;你想尝试添加import org.apache.spark.sql._吗?也许是您的 IDE 没有正确响应?如果您使用的是 Eclipse,您可能需要执行 sbt eclipse 或其他操作以将库包含在调试器中。 -
你的构建配置是什么? Spark 的版本?
-
@GameOfThrows 我相信 OP 使用的是 spark 版本
-
你愿意分享你的构建文件的相关依赖部分吗? sbt 还是 maven?
-
@eliasah ofc 那,面对掌心时刻。
标签: scala apache-spark spark-dataframe