基本上我有一个包含英语句子的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()