Apache spark Apache Spark MLlib模型文件格式

Apache spark Apache Spark MLlib模型文件格式,apache-spark,apache-spark-mllib,Apache Spark,Apache Spark Mllib,Apache Spark MLlib算法(例如,决策树)将模型保存在一个位置(例如,myModelPath)中,在该位置创建两个目录,即myModelPath/data和myModelPath/metadata。这些路径中有多个文件,这些文件不是文本文件。有些文件的格式为*.parquet 我有几个问题: 这些文件的格式是什么 哪些文件包含实际模型 我是否可以将模型保存到其他地方,例如数据库中 火花>=2.4 由于Spark 2.4提供了格式无关的编写器接口,选定的模型已经实现了这些接口。例如

Apache Spark MLlib算法(例如,决策树)将模型保存在一个位置(例如,
myModelPath
)中,在该位置创建两个目录,即
myModelPath/data
myModelPath/metadata
。这些路径中有多个文件,这些文件不是文本文件。有些文件的格式为
*.parquet

我有几个问题:

  • 这些文件的格式是什么
  • 哪些文件包含实际模型
  • 我是否可以将模型保存到其他地方,例如数据库中

    • 火花>=2.4

      由于Spark 2.4提供了格式无关的编写器接口,选定的模型已经实现了这些接口。例如
      线性回归模型

      val-lrm:org.apache.spark.ml.regression.LinearRegressionModel=???
      val路径:字符串=???
      lrm.write.format(“pmml”).save(路径)
      
      将使用包含表示的单个文件创建目录

      火花<2.4

      这些文件的格式是什么

      • data/*.parquet
        文件采用柱状存储格式
      • metadata/part-*
        看起来像JSON
      哪些文件包含实际模型

      • model/*.parquet
      我是否可以将模型保存到其他地方,例如数据库中

      我不知道有任何直接方法,但您可以将模型作为数据帧加载,然后将其存储在数据库中:

      val modelDf=spark.read.parquet(“/path/to/data/”)
      modelDf.write.jdbc(…)