2017-06-06 79 views
5

我使用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 
      ^

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

+0

当你只做“火花”时,你会得到什么? –

+0

在Windows上?你安装了winutils.exe吗?这是你第一次执行'spark-shell'吗? –

+0

感谢大家,我已经解决了这个问题,这是安装时的错误。 – Selena

回答

2

的原因错误是实例不能创建由于一些前面的问题(这可能发生,因为你是在Windows和您尚未安装winutils.exe二进制或一些其他会话保持地方基于德比的Metastore)。

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

+0

thx提醒,我滚动然后我看到另一个错误。现在我已经知道我们已经! – Selena

+0

你能把终端上的全部异常粘贴到你的问题上吗?这将有助于未来的读者。如果我的答案有帮助,请尽早接受。我会很感激。谢谢。 –

4

我面临同样的问题,经过调查我发现有spark versionhadoop-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 

enter image description here

0

对于Ubuntu用户

我有完全相同的错误,我固定它下面的方式。

如果从终端关闭正在运行的火花壳并重新打开终端然后重启火花壳

0

如果您正在运行Cloudera,请检查cloudera经理并确保HIVE服务处于开启状态。我有同样的问题,并认为我的HIVE服务已经停止。 (HIVE METASTORE服务器,HIVESERVER,HOSTS)

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

如果HIVE关闭,则会出现上述错误。

+0

我得到的错误,我的蜂巢很好。 – aaa90210

0

如果你是从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用户主目录。

相关问题