Подтвердить что ты не робот

Почему искровая оболочка терпит неудачу с ошибкой: не найден: значение искры?

Я использую 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
              ^

В чем может быть причина? Как это исправить?

4b9b3361

Ответ 1

Я столкнулся с той же проблемой, после расследования я обнаружил, что существует проблема совместимости между spark version и winutils.exe из hadoop-2.xx.

После эксперимента я предлагаю вам использовать hadoop-2.7.1 winutils.exe с версией spark-2.2.0-bin-hadoop2.7 и hadoop-2.6.0 winutils.exe с версией spark-1.6.0-bin-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\hive и дайте разрешение на доступ, используя приведенную ниже команду

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

Удалите локальный каталог метастазов Dera metastore_db с компьютера, если он существует.

C:\Users\<User_Name>\metastore_db

Используйте приведенную ниже команду для запуска спарк-оболочки

C:>spark-shell

enter image description here

Ответ 2

Причиной ошибки является то, что экземпляр не может быть создан из-за некоторых более ранних проблем (что могло произойти из-за того, что вы находитесь в Windows, а вы не установили двоичный файл winutils.exe или какой-либо другой сеанс, который хранит локальные данные на основе Derby metastore).

Рекомендация - прокрутить вверх и просмотреть весь экран журналов, где вы найдете основную причину.

Ответ 3

Если вы находитесь на Cloudera, то soltuion из этого билета github работал у меня (https://github.com/cloudera/clusterdock/issues/30):

Пользователь root (у которого вы работаете, когда вы запускаете искровую оболочку) не имеет каталога пользователя в HDFS. Если вы создаете один (sudo -u hdfs hdfs dfs -mkdir/user/root, за которым следует sudo -u hdfs dfs -chown root: root/user/root), это должно быть исправлено.

т.е. создайте домашний каталог HDFS для пользователя, запускающего искровую оболочку.

Ответ 5

Для Ubuntu пользователей

У меня была такая же ошибка, и я исправил ее следующим образом.

Если вы запустили искро-оболочку из терминала закрыть и снова откройте терминал, а затем перезапустите искро-оболочку.

Ответ 6

Если вы используете Cloudera, пожалуйста, войдите в диспетчер cloudera и убедитесь, что услуги HIVE включены. У меня была такая же проблема, и я понял, что моя служба по ВИЧ-инфекции не работает. (Сервер HIVE METASTORE, HIVESERVER, HOSTS)

для Spark, вам нужно убедиться, что HDFS, YARN и HIVE включены.

Выше ошибки появляется, если HIVE выключен.

Ответ 7

У меня была такая же ошибка. В моем случае жесткий диск был почти заполнен. Я удалил несколько больших файлов с диска и снова запустил после перезагрузки. Это сработало! Но я думаю, что это не всегда так.