Github user viirya commented on the issue:
https://github.com/apache/spark/pull/17819
Sorry I have to reply on a phone, so I may not write codes smoothly.
What I mean it doesn't break binary compatibility, is the existing users
codes using Bucketizer don't need to recompile. If you want to use new
inputCols stuff, of course you need to recompile your codes. I think this
is what about binary compatibility, isn't?
On Sep 19, 2017 9:13 AM, "WeichenXu" <[email protected]> wrote:
@viirya <https://github.com/viirya> Scala with trait is a complex mechanism
and trait isn't equivalent to java's interface. Scala compiler will
precompile and generate many other codes, so java-side code cannot directly
call methods in with trait. In order to test this, you can modify this file
and add a line:
---
a/examples/src/main/java/org/apache/spark/examples/ml/JavaBucketizerExample.java
+++
b/examples/src/main/java/org/apache/spark/examples/ml/JavaBucketizerExample.java
@@ -59,7 +59,8 @@ public class JavaBucketizerExample {
Bucketizer bucketizer = new Bucketizer()
.setInputCol("features")
.setOutputCol("bucketedFeatures")
- .setSplits(splits);
+ .setSplits(splits)
+ .setInputCols(new String[] {"features", "features2"});
// Transform original data into its bucket index.
Dataset<Row> bucketedData = bucketizer.transform(dataFrame);
and you will find this Java class compile failed.
â
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/apache/spark/pull/17819#issuecomment-330399059>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAEM9yeUnEowP2PhdXG2XF9DvRcVkg4Tks5sjxUrgaJpZM4NNEr5>
.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]