Java Spark Api GroupBy+;填充空字段

Java Spark Api GroupBy+;填充空字段,java,apache-spark,apache-spark-sql,Java,Apache Spark,Apache Spark Sql,大家好,我无法解决转换的问题 数据集示例: +--------------------------------------+ | Col1 Col2 Col3 Col2 Col3 | +--------------------------------------+ | Value 1 Value 2 123 | | Value 1 Value 2 124 | | Value 1 Value 2

大家好,我无法解决转换的问题

数据集示例:

+--------------------------------------+
| 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;
    }
私有数据集getRCR(){
Dataset read=respCookieRelReader.read(false,inputPath);
阅读
.groupBy(“col1”、“col2”、“col3”)
.agg(functions.first(新列(“col4”)).as(“col4”),
函数。第一列(新列(“col5”)。作为(“col5”),
函数。第一列(新列(“col6”)。作为(“col6”),
函数.first(新列(“col7”)).as(“col7”);
返回读取;
}

到目前为止,您使用
Java Spark API尝试了什么?到目前为止,您提供的代码只是Scala?你被困在哪里了?我在java spark api中找不到与数据集转换相关的第一个func。关于你拥有的数据集的(结构)还有更多信息吗?5个字符串字段scala代码工作正常,我只想使用apache.spark.sql包中的常见java spark api方法来完成。那么什么不起作用呢?你是在要求重写你的两行Scala代码吗?