Эта ошибка означает, что у вас нет следующих ресурсов:
META-INF.services / org.apache.spark.sql.sources.DataSourceRegister
Это должно быть частью зависимости зажигания от искры.
Итак, что вы должны проверить:
1) Этот ignite-spark-2.7.0.jar существует в пути к классам всех ваших узлов, где у вас есть узлы Spark.
2) Если вы используете spark.driver.extraClassPath, проверьте следующее:
а. Вы делаете это в режиме клиента (клиент -deploy-mode), потому что Spark запускает HTTP-сервер Netty, который при запуске распределяет файлы для каждого из рабочих узлов. В режиме кластера искра выбрала рабочий узел-лидер для выполнения процесса драйвера. Это означает, что задание не запускается непосредственно с главного узла.
б. Я не уверен, но похоже, что extraClassPath требует список файлов jar вместо / path / to / lib / *. Вы можете попробовать использовать следующее:
EXECUTOR_PATH=""
for eachjarinlib in $JARS ; do
if [ "$eachjarinlib" != "APPLICATIONJARTOBEADDEDSEPERATELY.JAR" ]; then
EXECUTOR_PATH=file:$eachjarinlib:$EXECUTOR_PATH
fi
done
spark-submit --deploy-mode client --master yarn --conf "spark.driver.extraClassPath=$EXECUTOR_PATH" --class $EXAMPLE_CLASS $PATH_TO_JAR
где $ JARS - это путь к вашим библиотекам.