我想从字符串中提取单词并计算它们(说出单词出现的频率)。
val tokenized = tokenizer.transform(title)
val words = tokenized.select("words").take(5).foreach(println)
我得到的是这样的格式。
[WrappedArray(rt, happy, new, year!!! ]
[WrappedArray(rt, happy, new, year!!! ]
[WrappedArray(rt, happy, new, year!!! ]
[WrappedArray(rt, happy, new, year!!! ]
[WrappedArray(rt, happy, new, year!!! ]
我想要的是按单词分组的单词列表。怎么做?
答案 0 :(得分:1)
您可以将 explode 和 groupBy 与 count 聚合结合使用,如下所示:
tokenized.withColumn("words", explode(col("words")))
.groupBy("words")
.agg(count("*")).show()