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

50pmv0ei  于 2021-06-08  发布在  Hbase
关注(0)|答案(1)|浏览(474)

我正在编写一个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\u模型。我将使用hbase

qojgxg4l

qojgxg4l1#

我不知道如何直接保存到hbase,但是现在大多数sparkml模型都包含了保存/加载到磁盘或从磁盘加载的方法;就你而言:


# saving:

lr_model.save(model_path)

# loading:

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

有关更多信息,请参阅文档和此线程。

相关问题