java - Java Spark Api GroupBy + 填充空字段
问题描述
同事们好,我无法解决转型问题。
数据集示例:
+--------------------------------------+
| Col1 Col2 Col3 Col2 Col3 |
+--------------------------------------+
| Value 1 Value 2 123 |
| Value 1 Value 2 124 |
| Value 1 Value 2 125 |
+--------------------------------------+
需要的输出:
+--------------------------------------------------------+
|Col1 Col2 Col3 Col2 Col3 |
+--------------------------------------------------------+
| Value 1 Value 2 123 124 125 |
+--------------------------------------------------------+
我用 Apache toree 在 jupiter 中完成了它,它看起来像:
val z = spark.read.parquet("/*/*.parquet")
val d = z.groupBy("Col1","Col2").agg(first(col("Col3"),true).as("Col3"),first(col("Col4"),true).as("Col4"),first(col("Col5"),true).as("Col5")))
如何使用 Java Spark Api 做到这一点?
解决方案
想办法用 Java 做到这一点
private Dataset<RCR> getRCR() {
Dataset<RCR> read = respCookieRelReader.read(false, inputPath);
read
.groupBy("col1", "col2", "col3")
.agg(functions.first(new Column("col4")).as("col4"),
functions.first(new Column("col5")).as("col5"),
functions.first(new Column("col6")).as("col6"),
functions.first(new Column("col7")).as("col7"));
return read;
}
推荐阅读
- mysql - Why sql "column like 'pattern%'" doesn't use the index?
- performance - 为什么在展开的 ADD 循环中重新初始化寄存器会使它运行得更快,即使循环中有更多指令?
- unit-testing - 如何在 Quarkus 中覆盖一个单元测试的配置属性
- javascript - 如何通过 Javascript 显示选择应用程序对话框?
- java - 如何从java中的文本文件中打印出linkedList
- javascript - 使用烧瓶将 HTML(包括属性)从 python 发送到网页
- java - Junit MockMvc 使用 URL 中的路径变量执行 POST,返回 404 未找到
- git - 我合并了一个拉取请求,GitHub 自动合并了另一个
- c - STM32 SPI同步问题
- vue.js - 为什么我会收到“找不到或无法读取要导入的文件”?