scala - 从 Spark DataFrame 中列出的所有列的不同之处
问题描述
我有一个如下所示的数据框,我想将其转换为预期格式作为列表中的不同值。
+---------------------+---------------+
|col1 |col2 |
+---------------------+---------------+
| A | 1 |
| B | 2 |
| C | 1 |
| D | 1 |
| A | 2 |
| null | 1 |
+---------------------+---------------+
预期格式
+---------------------+---------------+
|col1 |col2 |
+---------------------+---------------+
| [A,B,C,D,null] | [1,2] |
+---------------------+---------------+
有什么办法可以解决上面的问题吗???
提前致谢 !!
解决方案
你可以做这样的事情
import spark.implicits._
df
.na.fill("null", Seq("col1"))
.agg(
func.collect_set($"col1").alias("col1"),
func.collect_set($"col2").alias("col2")
)
推荐阅读
- python - 使用文件搜索另一个文件并打印与第一个文件匹配的模式的行
- html - 无法从 ionic 中的 observable json 对象绑定值
- sql - 如何从一个日期早于另一个表的表中加入最后一条记录?
- angular - Angular 8 - Typescript > ERROR TypeError:array.find 不是函数
- python - 无法访问数据框中特定列的值
- c - 使用双指针复制 LinkedList
- spring - 405 Method is not Allowed 异常:GET调用的“请求方法'T'不支持”和POST的“请求方法'ST'不支持”
- mongodb - 使用 Spring Boot 的 MongoDB 查询结果与预期不符
- javascript - 反应比较或匹配两个日期
- sql - 在 liquibase 上为 H2 数据库创建 SQL 函数