为什么spark-shell失败,出现“error:not found:value spark”?
我使用Spark 2.1.0。为什么spark-shell失败,出现“error:not found:value spark”?
当我运行spark-shell
,我遇到这样的错误:
<console>:14: error: not found: value spark
import spark.implicits._
^
<console>:14: error: not found: value spark
import spark.sql
^
可能是什么原因?如何解决它?
的原因错误是实例不能创建由于一些前面的问题(这可能发生,因为你是在Windows和您尚未安装winutils.exe
二进制或一些其他会话保持地方基于德比的Metastore)。
建议向上滚动并查看找到根本原因的日志的整个屏幕。
thx提醒,我滚动然后我看到另一个错误。现在我已经知道我们已经! – Selena
你能把终端上的全部异常粘贴到你的问题上吗?这将有助于未来的读者。如果我的答案有帮助,请尽早接受。我会很感激。谢谢。 –
我面临同样的问题,经过调查我发现有spark version和hadoop-2.x.xwinutils.exe之间的兼容性问题。
实验后,我建议你使用Hadoop的2.7.1 winutils.exe与火花2.2.0彬hadoop2.7版本和Hadoop的2.6.0 winutils.exe与火花-1.6.0彬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目录\蜂巢 diroctory并使用下面的命令赋予访问权限
C:\Hadoop\winutils-master\hadoop-2.7.1\bin>winutils.exe chmod -R 777 C:\tmp\hive
从计算机中删除本地基于Derby的Metastore metastore_db目录。下面的命令
C:\Users\<User_Name>\metastore_db
使用启动火花外壳
C:>spark-shell
对于Ubuntu
用户
我有完全相同的错误,我固定它下面的方式。
如果从终端关闭正在运行的火花壳并重新打开终端然后重启火花壳。
如果您正在运行Cloudera,请检查cloudera经理并确保HIVE服务处于开启状态。我有同样的问题,并认为我的HIVE服务已经停止。 (HIVE METASTORE服务器,HIVESERVER,HOSTS)
对于Spark,您需要确保HDFS,YARN和HIVE处于开启状态。
如果HIVE关闭,则会出现上述错误。
我得到的错误,我的蜂巢很好。 – aaa90210
如果你是从Cloudera的这个github上票soltuion工作对我来说(https://github.com/cloudera/clusterdock/issues/30):
The root user (who you're running as when you start spark-shell) has no user directory in HDFS. If you create one (sudo -u hdfs hdfs dfs -mkdir /user/root followed by sudo -u hdfs dfs -chown root:root /user/root), this should be fixed.
即为运行spark-shell的用户创建一个HDFS用户主目录。
当你只做“火花”时,你会得到什么? –
在Windows上?你安装了winutils.exe吗?这是你第一次执行'spark-shell'吗? –
感谢大家,我已经解决了这个问题,这是安装时的错误。 – Selena