字符串

时间:2017-09-05 19:11:30

标签: apache-spark apache-spark-sql spark-dataframe

基本上我有一个包含英语句子的数据帧列(字符串类型)。我的目标是创建一个数据透视表(按用户ID分组),其中包含单词作为列并计为条目。问题是如果你做了像

这样的事情
myDataframe.groupBy(col("user")).pivot(col("sentences")).count()

如果“句子”是包含英语句子的列的名称,您将计算句子而不是单个单词。有没有办法计算句子中的单个单词而不只是句子本身?空白标记化很好。

1 个答案:

答案 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()