[ 
https://issues.apache.org/jira/browse/SPARK-11988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15030469#comment-15030469
 ] 

Villu Ruusmann commented on SPARK-11988:
----------------------------------------

I went through JPMML-Model commit log and here's my take on "significant 
functional changes" between 1.1.15 and 1.2.7:

* 1.2.0. Renamed Fluent API-style setter methods to POJO-style setter methods. 
For example, PMML#withVersion(String) became PMML#setVersion(String).
* 1.2.1. Included modified PMML XSD resource (adds removed and deprecated 3.X 
and 4.X elements and attributes to the latest 4.2.1 XSD resource) to 
distributable JAR file. You can use standard JAXB APIs to validate newly 
generated PMML documents against this XSD. For example, this would have caught 
the missing PMML@version attribute easily.
* 1.2.2. Activated the emulation of JAXB "lax" wildcard syntax. It is about 
parsing/formating an PMML document "deeply", when it contains mixed PMML and 
custom markup.
* 1.2.3 and 1.2.4. Reorganized org.dmg.pmml.Field class hierarchy. There is a 
distinction between "field definition" and "field reference" elements now. For 
example, DataField is a field definition element, whereas MiningField is merely 
a field reference element. Added org.dmg.pmml.Indexable interface, which marks 
unique element/attribute combinations. For example, it provides an easy way to 
force that every DataField element in a DataDictionary element has a unique 
DataField@name attribute.
* 1.2.5. Generated "test-if-exists-and-is-not-empty" test methods for 
Collection-type class model attributes. The idea is to avoid accessing 
missing/empty Collection attributes via getter methods, because that would 
allocate an unnecessary ArrayList instance. For example, one should test 
Node#hasNodes() before accessing Node#getNodes() for real work.
* 1.2.6. Fixed a concurrency bug about FieldName interning.
* 1.2.7. Added a bunch of HasExpression, HasPredicate, HasValue, HasValueSet 
etc. marker interfaces that come in handy when rearranging PMML class model 
objects using Visitor API.




> Update JPMML to 1.2.7
> ---------------------
>
>                 Key: SPARK-11988
>                 URL: https://issues.apache.org/jira/browse/SPARK-11988
>             Project: Spark
>          Issue Type: Improvement
>          Components: ML, MLlib
>    Affects Versions: 1.5.2
>            Reporter: Sean Owen
>            Assignee: Sean Owen
>            Priority: Minor
>
> Pretty much says it all: update to the more recent JPMML 1.2.x line from 
> 1.1.x. 
> The API did change between the 2 versions, though all use of it is internal 
> to Spark, so doesn't affect end users in theory.
> In practice, JPMML leaks into the classpath and might cause issues. My 
> rationale for the change is that 1.2.x is more recent and more stable (right 
> [~vfed]?) so if people are going to run into it, might as well run into 
> something more modern.
> And bug fixes and more support and all that.
> CC [~selvinsource]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org
For additional commands, e-mail: issues-h...@spark.apache.org

Reply via email to