为什么spark-shell因"错误:未找到:值火花"而失败?

Sel*_*ena 14 apache-spark apache-spark-sql

我使用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
              ^
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?怎么解决?

Pra*_*hoo 8

我正面临同样的问题,经过调查我发现之间存在着兼容性的问题火花版本winutils.exeHadoop的2.xx的.

经过实验,我建议你使用带有spark-2.2.0-bin-hadoop2.7版本的hadoop-2.7.1 winutils.exe和带有spark-1.6.0-bin-hadoop2.6版本的hadoop-2.6.0 winutils.exe并设置以下环境变量

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;
Run Code Online (Sandbox Code Playgroud)

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

C:\Hadoop\winutils-master\hadoop-2.7.1\bin>winutils.exe chmod -R 777 C:\tmp\hive
Run Code Online (Sandbox Code Playgroud)

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

C:\Users\<User_Name>\metastore_db
Run Code Online (Sandbox Code Playgroud)

使用以下命令启动spark shell

C:>spark-shell
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Jac*_*ski 2

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

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