Класс Spark RDD не найден

Я новичок в Spark, и мне нужна помощь с ошибкой: java.lang.NoClassDefFoundError: org/apache/spark/rdd/RDD$

Я создаю автономный пример Spark в Scala. Я запустил sbt clean package и sbt assembly, чтобы упаковать искровой код scala. Оба завершились успешно без каких-либо ошибок. Любая операция с RDD вызывает ошибку. Любые советы по устранению этой проблемы будут действительно полезны.

Я вызываю задание с помощью команды spark-submit.

$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.GroupTest /Users/../spark_workspace/spark/examples/target/scala-2.10/spark-examples_2.10-1.3.0-SNAPSHOT.jar


person Vikrame    schedule 02.02.2015    source источник
comment
Вы скачали бинарный дистрибутив? Я так, какой. Есть ли другие наводящие на размышления сообщения, написанные на консоли? $SPARK_HOME совпадает с /Users/../spark_workspace/spark/?   -  person Dean Wampler    schedule 02.02.2015
comment
Привет, у меня точно такая же проблема. Как вы решили свою проблему?   -  person Shekhar    schedule 29.03.2015
comment
Вы компилируете и запускаете свое приложение с разными искровыми ядрами?   -  person zergood    schedule 10.07.2015


Ответы (1)


Мне удалось сбросить эту ошибку и обойти ее. Это определенно ответ YMMV, но я оставлю его здесь на случай, если он кому-то поможет.

В моем случае я запускал доморощенные установленные spark (1.2.0) и mahout (0.11.0) на Mac. Меня это довольно сбивало с толку, потому что, если я запускал командную строку mahout вручную, я не получал ошибки, но если я вызывал ее из какого-либо кода Python, она выдавала ошибку.

Я понял, что обновил свою переменную SPARK_HOME в своем профиле, чтобы использовать вместо нее 1.4.1, и перезагрузил ее в своем ручном терминале. Терминал, на котором я запускал код Python, все еще использовал версию 1.2.0. Я перезагрузил свой профиль в своем терминале Python, и теперь он «просто работает».

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

person Foobie Bletch    schedule 18.09.2015