基本上我有一个包含英语句子的数据帧列(字符串类型)。我的目标是创建一个数据透视表(按用户ID分组),其中包含单词作为列并计为条目。问题是如果你做了像
这样的事情myDataframe.groupBy(col("user")).pivot(col("sentences")).count()
如果“句子”是包含英语句子的列的名称,您将计算句子而不是单个单词。有没有办法计算句子中的单个单词而不只是句子本身?空白标记化很好。
答案 0 :(得分:1)
你必须首先标记和爆炸:
import org.apache.spark.ml.feature.Tokenizer
new Tokenizer()
.setInputCol("sentences")
.setOutputCol("tokens")
.transform(df)
.withColumn("token", explode($"tokens"))
.groupBy(col("user")).pivot(col("token")).count()