次のようなコードを書きました。
val hashingTF = new HashingTF()
val tfv: RDD[Vector] = sparkContext.parallelize(articlesList.map { t => hashingTF.transform(t.words) })
tfv.cache()
val idf = new IDF().fit(tfv)
val rate: RDD[Vector] = idf.transform(tfv)
各 articleList 項目の「レート」RDD から上位 5 つのキーワードを取得するにはどうすればよいですか?
追加:
articleList には次のオブジェクトが含まれます。
case class ArticleInfo (val url: String, val author: String, val date: String, val keyWords: List[String], val words: List[String])
words には、article のすべての単語が含まれます。
レートの構造がわかりません。ドキュメントには次のように書かれています。
@return an RDD of TF-IDF vectors