要从Spark DataFrame列出的所有列的区别

问题描述 投票:0回答:1

我有一个如下所示的数据框,我想转换为期望的格式,作为列表中的不同值。

+---------------------+---------------+
|col1                 |col2           |
+---------------------+---------------+
|                  A  |             1 |
|                  B  |             2 |
|                  C  |             1 |
|                  D  |             1 |
|                  A  |             2 |
|               null  |             1 |
+---------------------+---------------+

期望格式

+---------------------+---------------+
|col1                 |col2           |
+---------------------+---------------+
|      [A,B,C,D,null] |         [1,2] |
+---------------------+---------------+

是否有解决上述问题的必要条件?

先谢谢了!!

scala apache-spark apache-spark-sql apache-spark-dataset
1个回答
1
投票

您可以做这样的事情

import spark.implicits._

df
  .na.fill("null", Seq("col1"))
  .agg(
     func.collect_set($"col1").alias("col1"),
     func.collect_set($"col2").alias("col2")
  )
© www.soinside.com 2019 - 2024. All rights reserved.