Java Spark Api GroupBy + заполнить пустые поля - PullRequest
0 голосов
/ 20 февраля 2019

Добрый день, коллеги, я не могу решить проблему с преобразованием.

Пример набора данных:

+--------------------------------------+
| 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, и это выглядит так:

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?

1 Ответ

0 голосов
/ 20 февраля 2019

найди способ сделать это с 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;
    }
...