为什么spark-shell因"错误而失败:值驱动程序不是org.apache.spark.sql.SparkSession"的成员?

时间:2017-11-30 14:19:00

标签: apache-spark

以下是我尝试执行的代码。我想我错了任何一个包但不确定我需要导入哪一个

scala> spark.driver.extraClassPath /user/hadoop/ojdbc6.jar
    <console>:33: error: value driver is not a member of org.apache.spark.sql.SparkSession
           spark.driver.extraClassPath /user/hadoop/ojdbc6.jar
                 ^
    <console>:33: error: not found: value user
           spark.driver.extraClassPath /user/hadoop/ojdbc6.jar
                                        ^
    <console>:33: error: not found: value hadoop
           spark.driver.extraClassPath /user/hadoop/ojdbc6.jar
                                             ^
    <console>:33: error: not found: value ojdbc6
           spark.driver.extraClassPath /user/hadoop/ojdbc6.jar


^

2 个答案:

答案 0 :(得分:0)

你可以尝试:

sc.getConf.set("spark.driver.extraClassPath","/user/hadoop/ojdbc6.jar")

不确定那是不是你需要的东西,从来没用过它。

答案 1 :(得分:0)

错误的原因是您在Privilege内部(提示spark-shell这样说)在执行之前输入了以下行。

scala>

该行看起来可能是spark.driver.extraClassPath /user/hadoop/ojdbc6.jar 的一部分,其中配置键和值由空格分隔。

您应该使用conf/spark-defaults.conf或使用conf/spark-defaults.conf命令行选项启动spark-shell,如下所示:

--conf

鉴于spark-shell --conf spark.driver.extraClassPath=/user/hadoop/ojdbc6.jar 对应spark.driver.extraClassPath,您可以按照以下方式运行--driver-class-path,以达到同样的效果。

spark-shell

您应该使用spark-shell --driver-class-path /user/hadoop/ojdbc6.jar &#39; spark-shell命令行选项。

  

- jars JARS 包含在驱动程序和执行程序类路径中的以逗号分隔的jar列表。