2017-12-02 19 views
2

나는 스칼라 스파크로 LDA 모델을 교육했다.스파크 : 스칼라 ML 모델을 PySpark에로드

val lda = new LDA().setK(k).setMaxIter(iter).setFeaturesCol(colnames).fit(data) 

lda.save(path) 

내 저장된 모델을 확인했으며 메타 데이터와 데이터라는 두 개의 폴더가 있습니다. 내가 PySpark에이 모델을로드하려고 할 때

그러나, 나는 오류는 말한다있어 :

model = LDAModel.load(sc, path = path) 


File "/Users/hongbowang/spark-2.2.0-bin-hadoop2.7/python/lib/py4j- 
0.10.4-src.zip/py4j/protocol.py", line 319, in get_return_value 
py4j.protocol.Py4JJavaError: An error occurred while calling 
o33.loadLDAModel. 
: org.apache.hadoop.mapred.InvalidInputException: Input path does not 
exist:file:/Users/hongbowang/Personal/Spark%20Program/Spark%20Project/ 
T1/output_K20_topic/lda/metadata 

내가 그것을 고칠 수있는 방법을 아는 사람 있나요? 고마워 ~!

답변

1

ml.clustering.LDAModel을 저장했지만 mllib.clustering.LDAModel으로 읽으려고합니다. 올바른 LDAModel을 가져와야합니다.

from pyspark.ml.clustering import LocalLDAModel 

LocalLDAModel.load(path) 

분산 모델 :

from pyspark.ml.clustering import DistributedLDAModel 

DistributedLDAModel.load(path) 
지역 모델