Что делать, если при выполнении задания Spark появилась ошибка вида «java.lang.AbstractMethodError»?

Spark 2.3 изменил логику внутреннего интерфейса Logging.

Если пользовательский код непосредственно наследует Logging и используется более ранняя версия Spark во время компиляции, то в версии Spark 2.3 отобразится ошибка «java.lang.AbstractMethodError» при запуске приложения.

Перекомпилируйте приложения на Spark 2.3.

Можно использовать sl4j+log4j для реализации функции логов вместо наследования внутреннего интерфейса Logging в Spark.

Описание будет следующее:

< dependency >
< groupId > org . slf4j </ groupId >
< artifactId > slf4j - api </ artifactId >
< version > 1.7.16 </ version >
</ dependency >
< dependency >
< groupId > org . slf4j </ groupId >
< artifactId > slf4j - log4j12 </ artifactId >
< version > 1.7.16 </ version >
</ dependency >
< dependency >
< groupId > log4j </ groupId >
< artifactId > log4j </ artifactId >
< version > 1.2.17 </ version >
</ dependency >
private val logger = LoggerFactory . getLogger ( this . getClass )
logger . info ( "print log with sl4j+log4j" )
Advanced