jpmml / jpmml-sparkml

Java library and command-line application for converting Apache Spark ML pipelines to PMML
GNU Affero General Public License v3.0
267 stars 80 forks source link

SLF4J: Class path contains multiple SLF4J bindings. #111

Closed yuanbianGit closed 3 years ago

yuanbianGit commented 3 years ago

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/BigData/spark/jars/jpmml-sparkml-executable-1.5.12.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/BigData/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]

vruusmann commented 3 years ago

What is your Apache Spark version? Some 2.4.X?

The JPMML-SparkML build could be updated so that the org.slf4j:slf4j-* dependencies (inherited via the JPMML-Converter library) are moved from the compile scope to the provided scope.

Then again, if I'm not importing the latest SLF4J myself, then Apache Spark runtime is giving me some very old/outdated version.

vruusmann commented 3 years ago

Should check what is the situation with Apache Spark 3.X - perhaps its "built-in" SLF4J library has been shaded, and applications libraries still need to import their own.