使用 Spark 2.2 Java 1.8我需要收集数组列的集合。但它给了我 WrappedArray。请参阅下文。Dataset<Row> df2 = df.groupBy("id").agg(collect_list("values"))df2.show(truncate=False)# +-----+----------------------------------------------+ # |id| collect_list(values) | # +-----+----------------------------------------------+ # |1 |[WrappedArray(1, 2, 3), WrappedArray(4, 5, 6)]| # |2 |[WrappedArray(2), WrappedArray(3)] | # +-----+----------------------------------------------+Expected output : = # +-----+------------------+# |store| values |# +-----+------------------+# |1 |[1, 2, 3, 4, 5, 6]|# |2 |[2, 3] |# +-----+------------------+我们如何在 spark java 中实现上述输出。有人可以帮忙吗?谢谢。
2 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
分组前可以使用“explode”函数:
df.withColumn("values", explode($"values")).groupBy("id").agg(collect_list($"values"))
添加回答
举报
0/150
提交
取消