【问题标题】:Why does spark-shell fail with “error: not found: value spark”?为什么 spark-shell 失败并显示“错误:未找到:值 spark”?
【发布时间】:2020-10-23 03:06:38
【问题描述】:

我使用 Spark 2.1.0。

当我运行spark-shell 时,我遇到了这个错误:

<console>:14: error: not found: value spark
       import spark.implicits._
              ^
<console>:14: error: not found: value spark
       import spark.sql
              ^

可能是什么原因?如何解决?

【问题讨论】:

  • 只做spark会得到什么?
  • 在 Windows 上吗?你安装了winutils.exe吗?这是你第一次执行spark-shell吗?
  • 谢谢大家,我已经解决了,是安装出错了。

标签: apache-spark apache-spark-sql


【解决方案1】:

我也遇到了同样的问题,经过调查发现hadoop-2.x.xhadoop-2.x.x之间的winutils.exe之间存在兼容性问题强>。

实验后我建议你使用 hadoop-2.7.1 winutils.exespark-2.2.0-bin-hadoop2.7 版本和 hadoop -2.6.0 winutils.exespark-1.6.0-bin-hadoop2.6 版本并设置以下环境变量

SCALA_HOME  : C:\Program Files (x86)\scala2.11.7;
JAVA_HOME   : C:\Program Files\Java\jdk1.8.0_51
HADOOP_HOME : C:\Hadoop\winutils-master\hadoop-2.7.1
SPARK_HOME  : C:\Hadoop\spark-2.2.0-bin-hadoop2.7
PATH    : %JAVA_HOME%\bin;%SCALA_HOME%\bin;%HADOOP_HOME%\bin;%SPARK_HOME%\bin;

创建 C:\tmp\hive 目录并使用以下命令授予访问权限

C:\Hadoop\winutils-master\hadoop-2.7.1\bin>winutils.exe chmod -R 777 C:\tmp\hive

从计算机中删除本地基于 Derby 的元存储 metastore_db 目录(如果存在)。

C:\Users\<User_Name>\metastore_db

使用以下命令启动 spark shell

C:>spark-shell

【讨论】:

    【解决方案2】:

    错误的原因是由于一些较早的问题(可能由于您在Windows上并且尚未安装而发生)而无法创建实例winutils.exe binary 或其他一些会话保留本地基于 Derby 的元存储)。

    建议向上滚动并查看整个日志屏幕,找到根本原因。

    【讨论】:

    • 谢谢提醒,我向上滚动然后我看到另一个错误。现在我已经知道了!
    • 您能否将整个异常从终端粘贴到您的问题中?这将有助于未来的读者。如果我的回答有帮助,请尽早接受。我会很感激的。谢谢。
    【解决方案3】:

    如果您在 Cloudera 上,此 github 票证中的解决方案对我有用 (https://github.com/cloudera/clusterdock/issues/30):

    root 用户(您在启动 spark-shell 时运行的用户)在 HDFS 中没有用户目录。如果您创建一个(sudo -u hdfs hdfs dfs -mkdir /user/root 后跟 sudo -u hdfs dfs -chown root:root /user/root),这应该是固定的。

    即为运行 spark-shell 的用户创建一个 HDFS 用户主目录。

    【讨论】:

      【解决方案4】:

      基本上授予“chmod 777”此文件夹以触发访问的权限

      C:\tmp\hive
      

      下面是完整的命令:-

      C:\spark\Hadoop\bin\winutils.exe chmod 777 C:\tmp\hive
      

      http://mytechnologythought.blogspot.com/2017/10/fixed-spark-setup-error-not-found-spark.html

      【讨论】:

        【解决方案5】:

        对于Ubuntu 用户

        我遇到了完全相同的错误,我通过以下方式修复了它。

        如果您正在从终端运行 spark-shell关闭并重新打开终端,然后重新启动火花壳

        【讨论】:

          【解决方案6】:

          如果您正在运行 Cloudera,请检查 cloudera manager 并确保 HIVE 服务已开启。我有同样的问题,并认为我的 HIVE 服务已关闭。 (HIVE METASTORE 服务器、HIVESERVER、HOSTS)

          对于 Spark,您需要确保 HDFS、YARN 和 HIVE 处于开启状态。

          如果 HIVE 处于关闭状态,则会出现上述错误。

          【讨论】:

            【解决方案7】:

            我有同样的错误。就我而言,硬盘几乎已满。我从磁盘中删除了一些大文件,并在重新启动后再次运行。有效!但我认为情况并非总是如此。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2015-12-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-02-20
              • 1970-01-01
              相关资源
              最近更新 更多