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代码吗?