我想从字符串中提取单词并对它们进行计数(说出一个单词发生的频率)。
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!!! ]我想要的是得到一个按单词分组的逐字计数列表。该怎么做呢?
发布于 2016-04-19 08:31:31
您可以使用count和groupBy与计数聚合的组合,如下所示:
tokenized.withColumn("words", explode(col("words")))
.groupBy("words")
.agg(count("*")).show()https://stackoverflow.com/questions/36698090
复制相似问题