flatten可以把嵌套的结构展开.
List(List(1,2),List(3,4)).flatten
结果: List[Int] = List(1, 2, 3, 4)
实例:
val flatten_distinct = udf(
(xs: Seq[Seq[String]]) => xs.flatten.distinct)
df.groupBy("id").agg(flatten_distinct(collect_list("users")))
.withColumnRenamed("UDF(collect_list(users, 0, 0))", "users")
.select("users")
我这里是根据用户的ID进行嵌套list的拆分
zip方法将两个集合结合在一起
List('a,'b,'c).zip(List(1,2,3))
List[(Symbol, Int)] = List(('a,1), ('b,2), ('c,3))
本文介绍如何利用Scala中的flatten函数处理嵌套list,实现数据的展平,并通过实例展示了根据用户ID进行数据拆分的过程。同时,文章还讲解了zip方法,用于将两个集合结合在一起形成元组列表。

被折叠的 条评论
为什么被折叠?



