Spark版本:1.6.1
我最近重构了我们的Word2Vec代码以转移到基于DataFrame的ml模型,但我在本地序列化和加载模型时遇到了问题。
我能够成功:
当我尝试在本地序列化模型时,向量不是序列化的,因此对于10GB的数据,文件的大小太小了大约2K。
FileOutputStream fo = new FileOutputStream("/tmp/word2vec");
ObjectOutputStream so = new ObjectOutputStream(fo);
so.writeObject(word2VecModel);
so.flush();
so.close();
logger.info("Word2Vec model saved");
加载模型并调用findSynonyms()函数会产生以下异常:
显示java.lang.NullPointerException at org.apache.spark.ml.feature.Word2VecModel.transform(Word2Vec.scala:224)
有没有办法在本地保存模型?