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?
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
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.
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.
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.
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.
"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
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 .