我使用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
有人可以帮帮我吗?
谢谢!
答案 0 :(得分:1)
您似乎拥有以下两个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)