2016-02-10 2 views
0

Я запускаю пример Spark, называемый JavaPageRank, но это копия, которую я скомпилировал отдельно, используя maven в новой банке. Я продолжаю получать эту ошибку:Spark не может найти классы Guava

ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[Executor task launch worker-0,5,main] java.lang.NoClassDefFoundError: com/google/common/collect/Iterables

Несмотря на то, что guava указан как одна из зависимостей Spark. Я запускаю скомпилированный Spark 1.6, который я загрузил, предварительно скомпилированный с веб-сайта apache.

Спасибо!

ответ

0

Ошибка означает, что в jar, содержащий класс com.google.common.collect.Iterables, нет в пути к классам. Таким образом, ваше приложение не может найти требуемый класс во время выполнения.

Если вы используете maven/gradle, попробуйте очистить, построить и обновить проект. Затем проверьте папку с вашими классами и убедитесь, что java guava находится в папке lib. Надеюсь, это поможет.

Удачи вам!

+0

Привет! Спасибо, что ответили так быстро. Но я сам не скомпилировал источник искры - неужели эта проблема сохранится, если я использую предварительно построенную версию? – user2839294

+0

Хорошо, если я правильно вас понимаю, вы используете примеры внутри самого пакета Spark. Если да, то, скорее всего, не возникнет проблема с искровым пакетом. Перед запуском и использованием чего-либо в нем нужно собрать сам пакет. Запустите «mvn -DskipTests clean package», чтобы создать искровый пакет. Подобно заданному здесь вопросу http://stackoverflow.com/questions/27618843/why-does-spark-submit-and-spark-shell-fail-with-failed-to-find-spark-assembly-j/30047304# 30047304 надеюсь, что это поможет. – Lina

+0

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