- tocdepth
2
Что делать, если при выполнении задания 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")
Была ли статья полезной?
Запустили Evolution free tier
для Dev & Test
Получить
для Dev & Test