web-dev-qa-db-fra.com

Pourquoi spark-Shell échoue-t-il avec “error: not found: value spark”?

J'utilise Spark 2.1.0.

Lorsque je lance spark-Shell, je rencontre cette erreur:

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

Quelle pourrait être la raison? Comment le réparer?

11
Selena

Je faisais face au même problème. Après enquête, j’ai constaté un problème de compatibilité entre version spark et winutils.exe de hadoop-2.xx.

Après l'expérience, je vous suggère d'utiliser la version hadoop-2.7.1 winutils.exe avec la version spark-2.2.0-bin-hadoop2.7 et la version hadoop-2.6.0 winutils.exe avec spark-1.6.0-bin-hadoop2.6 version et définition des variables d'environnement ci-dessous

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;

Créez le répertoire C:\tmp\Hive et donnez les droits d'accès à l'aide de la commande ci-dessous

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

Supprimez le répertoire local du métastore metastore_db basé sur Derby de l'ordinateur s'il existe.

C:\Users\<User_Name>\metastore_db

Utilisez la commande ci-dessous pour démarrer spark Shell

C:>spark-Shell

 enter image description here

7
Prashant Sahoo

Cette erreur s’explique par le fait que l’instance n’a pas pu être créée en raison de certains problèmes antérieurs (dont peut s’être produit parce que vous êtes sous Windows et que vous n’avez pas installé le binaire winutils.exe ou une autre session conserve la mémoire locale. Métastore basé sur Derby).

Il est recommandé de faire défiler l'écran vers le haut et d'examiner l'intégralité de l'écran des journaux où vous trouvez la cause première.

2
Jacek Laskowski

Si vous êtes sur Cloudera, la solution de ce ticket github a fonctionné pour moi ( https://github.com/cloudera/clusterdock/issues/30 ):

L'utilisateur root (sous lequel vous vous exécutez lorsque vous démarrez spark-Shell) ne possède pas de répertoire d'utilisateurs dans HDFS. Si vous en créez un (Sudo -u hdfs hdfs dfs -mkdir/user/root suivi de Sudo -u hdfs dfs -chown root: root/user/root), il convient de résoudre ce problème.

C'est à dire. créer un répertoire de base utilisateur HDFS pour l'utilisateur exécutant spark-Shell.

0
aaa90210

Si vous utilisez Cloudera, veuillez vous enregistrer dans Cloudera Manager et vous assurer que les services Hive sont activés. J'ai eu le même problème et je me suis dit que mon service Hive était en panne. (Serveur Hive METASTORE, HIVESERVER, HOSTS)

pour Spark, vous devez vous assurer que HDFS, YARN et Hive sont activés. 

L'erreur ci-dessus apparaît si Hive est désactivé.

0
satish lomte

donnez "chmod 777" fondamentalement la permission pour ce dossier de créer un accès 

C:\tmp\Hive

Voici la commande complète ci-dessous: -

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

Pour les utilisateurs Ubuntu

J'ai eu exactement la même erreur et je l'ai corrigé de la manière suivante.

Si vous utilisez spark-Shell à partir du terminal, fermez et rouvrez le terminal, puisredémarrez spark-Shell.

0
Abdullah Khan