You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 3, 2022. It is now read-only.
I meet a problem when running batch layer.
I write a batch layer LRScalaUpdate with scala extends MLUpdate, override buildModel() and evaluate() method. then i get an exception when running the batch layer.
I'm wondering why it call MLUpdate.buildModel instead of my LRScalaUpdate.buildModel.
can you give me some suggestions? thank you
17/07/12 14:55:06 INFO cluster.YarnClusterScheduler: Removed TaskSet 7.0, whose tasks have all completed, from pool
17/07/12 14:55:06 INFO scheduler.DAGScheduler: ResultStage 7 (isEmpty at MLUpdate.java:360) finished in 0.093 s
17/07/12 14:55:06 INFO scheduler.DAGScheduler: Job 7 finished: isEmpty at MLUpdate.java:360, took 0.109474 s
Exception in thread "streaming-job-executor-0" java.lang.AbstractMethodError: com.cloudera.oryx.ml.MLUpdate.buildModel(Lorg/apache/spark/api/java/JavaSparkContext;
Lorg/apache/spark/api/java/JavaRDD;Ljava/util/List;Lorg/apache/hadoop/fs/Path;)Loryx/org/dmg/pmml/PMML;
at com.cloudera.oryx.ml.MLUpdate.buildAndEval(MLUpdate.java:314)
at com.cloudera.oryx.ml.MLUpdate.lambda$findBestCandidatePath$0(MLUpdate.java:259)
at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250)
at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110)
...
Oryx shades its use of PMML classes to avoid classpath conflict with Spark. That's fine as it's internal to Oryx.
Except, one key thing I overlooked: MLUpdate actually forms a sort of API outside of the api package, and it does use one PMML class in its signature.