Apache Spark MLlib算法(例如,决策树)将模型保存在创建两个目录的位置(例如,myModelPath
),即。 myModelPath/data
和myModelPath/metadata
。这些路径中有多个文件,而不是文本文件。有一些格式为*.parquet
的文件。
我有几个问题:
答案 0 :(得分:5)
Spark> = 2.4
由于Spark 2.4提供了格式不可知的编写器接口,所选模型已经实现了这些。例如LinearRegressionModel
:
val lrm: org.apache.spark.ml.regression.LinearRegressionModel = ???
val path: String = ???
lrm.write.format("pmml").save(path)
将创建一个包含PMML表示的单个文件的目录。
Spark< 2.4 强>
这些文件的格式是什么?
data/*.parquet
个文件采用Apache Parquet列式存储格式metadata/part-*
看起来像JSON 哪些文件/文件包含实际型号?
model/*.parquet
我可以将模型保存到其他地方,例如在DB中吗?
我不知道任何直接方法,但您可以将模型作为数据框加载并在之后将其存储在数据库中:
val modelDf = spark.read.parquet("/path/to/data/")
modelDf.write.jdbc(...)