Apache Spark MLlib算法(例如Decision Trees)将模型保存在一个位置(例如myModelPath
),其中它创建了两个目录,即myModelPath/data
和myModelPath/metadata
。这些路径中有多个文件,并且这些文件不是文本文件。这些路径中有一些格式为*.parquet
的文件。
我有几个问题:
- 这些文件的格式是什么?
- 哪个/哪些文件包含实际的模型?
- 我可以将模型保存到其他地方,例如数据库吗?
Apache Spark MLlib算法(例如Decision Trees)将模型保存在一个位置(例如myModelPath
),其中它创建了两个目录,即myModelPath/data
和myModelPath/metadata
。这些路径中有多个文件,并且这些文件不是文本文件。这些路径中有一些格式为*.parquet
的文件。
我有几个问题:
Spark >= 2.4
自 Spark 2.4 版本开始,提供了格式无关的写入接口,并且已经有一些模型实现了这些接口。例如 LinearRegressionModel
:
val lrm: org.apache.spark.ml.regression.LinearRegressionModel = ???
val path: String = ???
lrm.write.format("pmml").save(path)
data/*.parquet
文件采用Apache Parquet列式存储格式。
metadata/part-*
看起来像JSON。model/*.parquet
我可以将模型保存在其他地方,例如数据库中吗?val modelDf = spark.read.parquet("/path/to/data/")
modelDf.write.jdbc(...)