如何将pyspark ml模型保存/加载到HBase

时间:2017-08-24 07:23:33

标签: apache-spark pyspark hbase linear-regression apache-spark-ml

我正在编写一个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

1 个答案:

答案 0 :(得分:0)

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

# saving:
lr_model.save(model_path)

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

有关详情,请参阅documentationthis thread