在Scala Spark中,可以使用collect_list
或collect_set
函数将包含整数的数组转换为List或Seq。
collect_list
函数将数组转换为List:import org.apache.spark.sql.functions._
val df = spark.createDataFrame(Seq(
(1, Array(1, 2, 3)),
(2, Array(4, 5, 6))
)).toDF("id", "array")
val result = df.groupBy("id").agg(collect_list("array").as("list"))
result.show(false)
输出结果:
+---+---------+
|id |list |
+---+---------+
|1 |[[1, 2, 3]]|
|2 |[[4, 5, 6]]|
+---+---------+
collect_set
函数将数组转换为Seq:import org.apache.spark.sql.functions._
val df = spark.createDataFrame(Seq(
(1, Array(1, 2, 3)),
(2, Array(4, 5, 6))
)).toDF("id", "array")
val result = df.groupBy("id").agg(collect_set("array").as("seq"))
result.show(false)
输出结果:
+---+---------+
|id |seq |
+---+---------+
|1 |[[1, 2, 3]]|
|2 |[[4, 5, 6]]|
+---+---------+
在上述示例中,我们首先创建了一个包含整数数组的DataFrame。然后,使用groupBy
函数按照"id"列进行分组,并使用collect_list
或collect_set
函数将数组转换为List或Seq。最后,将结果显示出来。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云弹性MapReduce(EMR)。
请注意,以上答案仅供参考,具体的解决方案可能因实际情况而异。
领取专属 10元无门槛券
手把手带您无忧上云