我使用spark 2.0.0,当我尝试执行时,我想将LDA模型训练到Tweets数据集
val ldaModel = new LDA().setK(3).run(corpus)
我得到这个错误
error: reference to LDA is ambiguous;
it is imported twice in the same scope by import org.apache.spark.ml.clustering.LDA and import org.apache.spark.mllib.clustering.LDA
有人可以帮我吗?
谢谢 !
最佳答案
看来您同时具有以下两个import语句:
import org.apache.spark.ml.clustering.LDA
import org.apache.spark.mllib.clustering.LDA
您需要删除其中之一。
如果您使用的是Spark ML(基于数据框架的API),则正确的语法应为:
import org.apache.spark.ml.clustering.LDA
/*feature extraction step*/
val lda = new LDA().setK(3)
val model = lda.fit(corpus)
如果您使用的是基于RDD的API,则必须编写:
import org.apache.spark.mllib.clustering.LDA
/*feature extraction step*/
val lda = new LDA().setK(3)
val model = lda.run(corpus)
关于apache-spark - 在Spark 2.0上运行LDA算法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41695024/