我有2列说 ID, value
ID是类型Int
,值是类型List[String]
。
id正在重复重复,因此要使它们唯一我在我的数据框架上应用GroupBy("id")
,我的问题是我要彼此附加值,并且值列必须不同。
示例: - 我有一个数据,例如
+---+---+
| id| v |
+---+---+
| 1|[a]|
| 1|[b]|
| 1|[a]|
| 2|[e]|
| 2|[b]|
+---+---+
我想要像这样的输出
+---+---+--
| id| v |
+---+-----+
| 1|[a,b]|
| 2|[e,b]|
我尝试了: -
val iniquedf = df.groupby(" id")。agg(collect_list(" v")) siquedf.map {row =>(row.getInt(0),, row.getasseq [string] .tolist.distinct)}
groupBy()
在agg()
中说我可以做同样的事情,还是我不想应用地图操作的事情
谢谢
val uniqueDF = df.groupBy("id").agg(collect_set("v"))
集只有唯一的值