在字符串中的Word上引发数据帧枢轴



基本上我有一个包含英语句子的dataframe列(字符串类型)。我的目标是创建一个枢轴表(由用户ID分组),该表作为列,将单词视为条目。问题是,如果您做

之类的事情
myDataframe.groupBy(col("user")).pivot(col("sentences")).count()

其中"句子"是包含英语句子的列的名称,您将计算句子而不是单个单词。有什么方法可以计算句子中的单个单词,而不仅仅是句子本身?空格令牌化很好。

您必须先象征和爆炸:

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

最新更新