0

我正在编写一个pyspark应用程序,并希望在MLlib Linear Regression中使用算法。但我不知道如何保存/加载输出。 我的代码:如何将pyspark ml模型保存/加载到HBase

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

我不知道如何直接保存到HBase,但是现在大多数Spark ML模型都包含用于保存/加载/从磁盘加载的方法;你的情况:

# saving: 
lr_model.save(model_path) 

# loading: 
from pyspark.ml.regression import LinearRegressionModel 
model = LinearRegressionModel.load(model_path) 

查看更多documentationthis thread