【问题标题】:"main" java.lang.ClassCastException: [Lscala.Tuple2; cannot be cast to scala.Tuple2 in Spark MLlib LDA“主” java.lang.ClassCastException: [Lscala.Tuple2;无法在 Spark MLlib LDA 中转换为 scala.Tuple2
【发布时间】:2015-10-20 07:45:56
【问题描述】:

我正在使用带有 Spark Java API 的 Spark 1.3.0 (Scala 2.10.X) MLlib LDA 算法。当我尝试在运行时从 LDA 模型读取文档主题分布时,我遇到了以下问题。

"main" java.lang.ClassCastException: [Lscala.Tuple2;不能转换为 scala.Tuple2

我在下面给出了相关代码:

DistributedLDAModel ldaModel = new LDA().setK(3).run(corpus);
RDD<Tuple2<Object, Vector>> topicDist = ldaModel.topicDistributions();

如何在 JavaRDD 的“topicDist”中读取或显示内容(文档及其主题分布)?

【问题讨论】:

  • 好像需要的类型是Tuple2[]数组,但是你给的是标准类型。
  • @MouseEvent: 反过来,实际上:)。

标签: java scala apache-spark apache-spark-mllib lda


【解决方案1】:

我找到了解决方案,并在下面给出:

JavaRDD<Tuple2<Object, Vector>> topicDist = ldaModel.topicDistributions().toJavaRDD();

List<Tuple2<Object, Vector>> list = topicDist.collect();

【讨论】:

    猜你喜欢
    • 2021-05-18
    • 2016-02-05
    • 1970-01-01
    • 2016-01-24
    • 2017-07-07
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多