Pyspark-加载ML模型时出错

时间:2018-08-24 16:12:21

标签: python apache-spark machine-learning pyspark

我已经通过使用火花提交提交的工作训练了PySpark ML模型。我无法通过另一项工作来加载此模型。我使用spark 2.2.0和python 2.6

我的代码

from pyspark.sql import SparkSession
from pyspark.ml.regression import LinearRegression
spark = SparkSession.builder.appName("load_model").enableHiveSupport().getOrCreate()

model_path = "/home/lr_model"
lr_model = LinearRegression.load(model_path)
print("Coefficients: " + str(lr_model.coefficients))
print("Intercept: " + str(lr_model.intercept))

还有我收到的不清楚的错误消息:

  

回溯(最近通话最近一次):

     

文件“ load_model.py”,第6行,位于lr_model = LinearRegression.read()。load(model_path)
    文件“ /hadoop/yarn/local/usercache/appcache/pyspark.zip/pyspark/ml/util.py”,   加载文件中的第176行   “ /hadoop/yarn/local/usercache/appcache/py4j-0.10.1-src.zip/py4j/java_gateway.py”,   第933行,在通话文件中   “ /hadoop/yarn/local/usercache/appcache/pyspark.zip/pyspark/sql/utils.py”,   装饰文件中的第63行   “ /hadoop/yarn/local/usercache/appcache/py4j-0.10.1-src.zip/py4j/protocol.py”,   get_return_value py4j.protocol.Py4JJavaError中的第312行:错误   发生在调用o41.load时。 :java.lang.NoSuchMethodException:   org.apache.spark.ml.regression.LinearRegressionModel。(java.lang.String)     在java.lang.Class.getConstructor0(Class.java:3082)在   java.lang.Class.getConstructor(Class.java:1825)在   org.apache.spark.ml.util.DefaultParamsReader.load(ReadWrite.scala:337)     在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     在   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     在java.lang.reflect.Method.invoke(Method.java:498)在   py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:237)在   py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)在   py4j.Gateway.invoke(Gateway.java:280)在   py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:128)     在py4j.commands.CallCommand.execute(CallCommand.java:79)处   py4j.GatewayConnection.run(GatewayConnection.java:211)位于   java.lang.Thread.run(Thread.java:748)

0 个答案:

没有答案