Что делать, если при выполнении задания 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" )