我正在编写一个pyspark应用程序,并希望在MLlib线性回归中使用算法。但我无法找到保存/加载输出的方法。 我的代码:
import os
import sys
os.environ['SPARK_HOME']="C:\spark-2.2.0-bin-hadoop2.7"
try:
from pyspark.sql import SparkSession
from pyspark.ml.regression import LinearRegression
from pyspark.ml.linalg import Vectors
from pyspark.ml.feature import VectorAssembler
except ImportError as e:
print ("Error importing Spark Modules", e)
sys.exit(1)
spark=SparkSession.builder.appName("lrexample").getOrCreate()
data=spark.read.csv("E:/Customers.csv", inferSchema=True, header=True)
assembler=VectorAssembler(inputCols=['Avg Session Length','Time on App','Time on Website','Length of Membership'],outputCol='features')
output=assembler.transform(data)
final_data=output.select('features','Yearly Amount Spent')
train_data,test_data=final_data.randomSplit([0.7,0.3])
lr=LinearRegression(labelCol='Yearly Amount Spent')
lr_model=lr.fit(train_data)
我的问题是如何加载/保存lr_model。我将使用HBase
答案 0 :(得分:0)
我不知道直接保存到HBase,但现在大多数Spark ML模型都包含保存/加载到磁盘的方法;在你的情况下:
# saving:
lr_model.save(model_path)
# loading:
from pyspark.ml.regression import LinearRegressionModel
model = LinearRegressionModel.load(model_path)
有关详情,请参阅documentation和this thread。