Я сталкивался с java.lang.NoClassDefFoundError несколько раз. У меня установлен Spark-2.3.1, поэтому я думаю, что он должен работать и в вашем случае.
В моем случае java.lang.NoClassDefFoundError: org / apache / spark / internal / Ведение журнала должно происходить из spark-core_2.11-2.3.1.jar, а в вашем случае оно должно исходить из spark-core_2. 11-2.1.0.jar на основе вашей версии spark и scala, упомянутой в вопросе
Когда вы смотрите на исходный код , он использует классы org.slf4j._. Поэтому я рекомендую добавить эту зависимость в ваш pom и затем попробовать.
Для NoClassDefFoundError всегда лучше найти jar-файл, который генерирует эту ошибку, а затем попытаться ее отследить.
Ниже показано, как определить, какой jar-файл вызывает ошибку NoClassDefFound, при условии, что у вас есть все jar-файлы зависимостей в ~ / spark / jars.
for i in `ls ~/spark/jars/*.jar`;
do
jar tvf $i | grep org/apache/spark/internal/Logging;
echo "************** $i ************** ";
done
Пожалуйста, дайте мне знать, если это решило вашу проблему.