我有一个DataFrame,它映射到如下所示的案例类。
case class Data(key :String, tokens : List[String], anothercol : String)
我想获得按密钥分组的不同标记。如果令牌不是列表,我可以这样做:
dataDF.groupBy($"key").agg(collect_set($"tokens"))
我会变得与众不同但是我会怎么做?
提前致谢
答案 0 :(得分:0)
一个建议是在Hive中使用Lateral explode。我们的想法是从标记列表中的每个元素创建一行。然后你可以使用agg和collect_set。
你可以写一个sql来实现这个