Hi Peter, We've tried to be cautious about making APIs public without need, to allow for changes needed in the future which we can't foresee now. Marking classes as final is part of that. While marking things as Experimental or DeveloperApi is a sort of warning, we've often felt that even changing those Experimental/Developer APIs is dangerous since people can come to rely on those APIs.
However, customization is a very valid use case, and I agree that the classes should be opened up in the future. I hope that, as the Pipelines API graduates from alpha, more users will give feedback about them, and that will give us enough confidence in the API stability to make the classes non-final. Joseph On Mon, Jun 8, 2015 at 9:17 AM, Peter Rudenko <petro.rude...@gmail.com> wrote: > Hi, previously all the models in ml package were private to package, so if > i need to customize some models i inherit them in org.apache.spark.ml > package in my project. But now new models ( > https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/ml/classification/GBTClassifier.scala#L46) > are final classes. So if i need to customize 1 line or so, i need to > redefine the whole class. Any reasons to do so? As a developer,i understand > all the risks of using Developer/Alpha API. That's why i'm using spark, > because it provides a building blocks that i could easily customize and > combine for my need. > > Thanks, > Peter Rudenko > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org > For additional commands, e-mail: dev-h...@spark.apache.org > >