After wrapping a neural network model as an NNEstimator, I would like to save the fitted pipeline with the fitted scalers and NNEstimator, however, when running on the cluster, I encounter some errors (attached at the end of this message - "no such method" error).
The pipeline itself works without error if I eliminate the procedure of saving pipeline.
Are there working code example that saves a pyspark.ml.Pipeline which contains fitted scalers and NNEstimator I could refer to? Thanks!
===============
Error from cluster
===============
An error occurred while calling o8205.save.
: java.lang.NoSuchMethodError: org.json4s.JsonDSL$.jobject2assoc(Lorg/json4s/JsonAST$JObject;)Lorg/json4s/JsonDSL$JsonListAssoc;
at com.intel.analytics.bigdl.dllib.nnframes.NNModel$.saveImpl(NNEstimator.scala:959)
at com.intel.analytics.bigdl.dllib.nnframes.NNModel$NNModelWriter.saveImpl(NNEstimator.scala:920)
at org.apache.spark.ml.util.MLWriter.save(ReadWrite.scala:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
at py4j.Gateway.invoke(Gateway.java:282)
at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
at py4j.commands.CallCommand.execute(CallCommand.java:79)
at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:182)
at py4j.ClientServerConnection.run(ClientServerConnection.java:106)
at java.lang.Thread.run(Thread.java:750)