Apache Spark DataFrame在Groupby之后应用自定义操作



我有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"))

集只有唯一的值

相关内容

  • 没有找到相关文章

最新更新