Word2Vec 模型 单个部分存储模型
Word2Vec Model Storing Model in Single Part
val model: org.apache.spark.ml.feature.Word2VecModel = new Word2Vec().setNumPartitions(20).setInputCol("value").setOutputCol("feature").fit(copus)
word2VecModel.save(s"$HDFS_URL/w2vmodel")
当我保存这个模型时,它只会在数据文件夹下创建一个分区 part-r-0000-988jdu-sduj76-jh433.snappy.parquet
尺寸 900 MB
val model: org.apache.spark.ml.feature.Word2VecModel =Word2VecModel.load("$HDFS_URL/w2vmodel")
所以当我加载这个模型时我得到 OutOfMemory
异常
有什么办法可以用镶木地板的多个部分或其他任何东西保存这个模型
我是新手所以任何建议都将不胜感激
巧合的是这个问题已经 recently discussed on the developers lists 并且这个讨论产生了 JIRA 票证和拉取请求:
- SPARK-19247 - 改进 ml word2vec save/load
- https://github.com/apache/spark/pull/16607
如果您想要一个快速的解决方案,您可以尝试将 MLlib 实现与 Spark 2.0 或更高版本一起使用 (SPARK-11994)。
val model: org.apache.spark.ml.feature.Word2VecModel = new Word2Vec().setNumPartitions(20).setInputCol("value").setOutputCol("feature").fit(copus)
word2VecModel.save(s"$HDFS_URL/w2vmodel")
当我保存这个模型时,它只会在数据文件夹下创建一个分区 part-r-0000-988jdu-sduj76-jh433.snappy.parquet
尺寸 900 MB
val model: org.apache.spark.ml.feature.Word2VecModel =Word2VecModel.load("$HDFS_URL/w2vmodel")
所以当我加载这个模型时我得到 OutOfMemory
异常
有什么办法可以用镶木地板的多个部分或其他任何东西保存这个模型
我是新手所以任何建议都将不胜感激
巧合的是这个问题已经 recently discussed on the developers lists 并且这个讨论产生了 JIRA 票证和拉取请求:
- SPARK-19247 - 改进 ml word2vec save/load
- https://github.com/apache/spark/pull/16607
如果您想要一个快速的解决方案,您可以尝试将 MLlib 实现与 Spark 2.0 或更高版本一起使用 (SPARK-11994)。