spark-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcelo Vanzin (JIRA)" <>
Subject [jira] [Commented] (SPARK-15526) Shade JPMML
Date Thu, 13 Jul 2017 18:01:00 GMT


Marcelo Vanzin commented on SPARK-15526:

The shaded classes are also showing up in multiple jars, which would also be fixed with the
change I suggested above.

$ find assembly/target/scala-2.11/jars/ | findclass ValidTimeSpecType
In jar assembly/target/scala-2.11/jars/spark-repl_2.11-2.3.0-SNAPSHOT.jar:
-- org/spark_project/dmg/pmml/ValidTimeSpecType.class
In jar assembly/target/scala-2.11/jars/pmml-model-1.2.15.jar:
-- org/dmg/pmml/ValidTimeSpecType.class
In jar assembly/target/scala-2.11/jars/spark-mllib_2.11-2.3.0-SNAPSHOT.jar:
-- org/spark_project/dmg/pmml/ValidTimeSpecType.class

> Shade JPMML
> -----------
>                 Key: SPARK-15526
>                 URL:
>             Project: Spark
>          Issue Type: Dependency upgrade
>          Components: ML, MLlib
>    Affects Versions: 2.0.0
>            Reporter: Villu Ruusmann
>            Priority: Minor
>   Original Estimate: 2h
>  Remaining Estimate: 2h
> The Spark-MLlib module depends on the JPMML-Model library (org.jpmml:pmml-model:1.2.7)
for its PMML export capabilities. The JPMML-Model library is included in the Apache Spark
assembly, which makes it very difficult to build and deploy competing PMML exporters that
may wish to depend on different versions (typically much newer) of the same library.
> JPMML-Model library classes are not part of Apache Spark public APIs, so it shouldn't
be a problem if they are relocated by prepending a prefix "org.spark_project" to their package
names using Maven Shade Plugin. The requested treatment is identical to how Google Guava and
Jetty dependencies are shaded in the final assembly.
> This issue is raised in relation to the JPMML-SparkML project (,
which provides PMML export capabilities for Spark ML Pipelines. Currently, application developers
who wish to use it must tweak their application classpath, which assumes familiarity with
build internals.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message