web-dev-qa-db-de.com

Warum versagt spark-Shell mit "error: not found: value spark"?

Ich benutze Spark 2.1.0.

Wenn ich spark-Shell starte, stoße ich auf diesen Fehler:

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

Was könnte der Grund sein? Wie man es repariert?

11
Selena

Ich war mit demselben Problem konfrontiert. Nach einer Untersuchung stellte ich fest, dass das Kompatibilitätsproblem zwischen SPARK-VERSION und WINUTILS.EXE von HADOOP -2.XX.

Nach dem Experiment schlage ich vor, dass Sie hadoop-2.7.1 winutils.exe mit spark-2.2.0-bin-hadoop2.7 version und hadoop-2.6.0 winutils.exe mit verwenden spark-1.6.0-bin-hadoop2.6 version und unter Umgebungsvariablen gesetzt

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;

Erstellen Sie C:\tmp\Hive -Verzeichnis und erteilen Sie die Zugriffsberechtigung mit dem folgenden Befehl

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

Entfernen Sie das lokale Derby-basierte Metastore-Verzeichnis metastore_db vom Computer, falls vorhanden.

C:\Users\<User_Name>\metastore_db

Verwenden Sie den folgenden Befehl, um Spark Shell zu starten

C:>spark-Shell

enter image description here

7
Prashant Sahoo

Der Grund für den Fehler ist, dass die Instanz aufgrund von einigen früheren Problemen (die möglicherweise aufgetreten sind, weil Sie unter Windows sind und winutils.exe binary nicht installiert haben oder die Sitzung nicht lokal installiert wurde, nicht erstellt werden konnte.) Derby-basierter Metastore).

Es wird empfohlen, nach oben zu scrollen und den gesamten Bildschirm der Protokolle zu überprüfen, in denen Sie die Hauptursache finden.

2
Jacek Laskowski

Ich hatte den gleichen fehler In meinem Fall war die Festplatte fast voll. Ich habe einige große Dateien von der Festplatte gelöscht und nach einem Neustart erneut ausgeführt. Es funktionierte! Aber ich denke, das ist nicht immer der Fall.

0
user3503711

Wenn Sie sich auf Cloudera befinden, funktionierte die Lösung dieses Github-Tickets für mich ( https://github.com/cloudera/clusterdock/issues/30 ):

Der Root-Benutzer (den Sie beim Start von spark-Shell ausführen) hat kein Benutzerverzeichnis in HDFS. Wenn Sie einen erstellen (Sudo -u hdfs hdfs dfs -mkdir/user/root gefolgt von Sudo -u hdfs dfs -chown root: root/user/root), sollte dies behoben werden.

Das heißt Erstellen Sie ein HDFS-Benutzerverzeichnis für den Benutzer, der spark-Shell ausführt.

0
aaa90210

Wenn Sie Cloudera ausführen, überprüfen Sie bitte den Cloudera-Manager und stellen Sie sicher, dass die Hive-Dienste aktiviert sind. Ich hatte das gleiche Problem und stellte fest, dass mein Bienenstockdienst nicht verfügbar war. (Hive METASTORE Server, HIVESERVER, HOSTS)

für Spark müssen Sie sicherstellen, dass HDFS, YARN und Hive eingeschaltet sind. 

Der obige Fehler wird angezeigt, wenn Hive deaktiviert ist.

0
satish lomte

"chmod 777" erteilt grundsätzlich Zugriff auf diesen Ordner 

C:\tmp\Hive

Hier ist der volle Befehl wie folgt: -

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

0
vipul gulhane

Für Ubuntu Benutzer

Ich hatte genau den gleichen Fehler und habe ihn folgendermaßen behoben.

Wenn Sie spark-Shell vom Terminal aus ausführen schließen Sie das Terminal und öffnen Sie es erneut und dann starte die spark-Shell neu .

0
Abdullah Khan