Apache Spark Dataframe Groupby agg () для нескольких столбцов

у меня есть DataFrame С 3 столбцами, т. е. Id, First Name, Last Name

Я хочу, чтобы применить GroupBy на основе Id и хочу взыскать в список.

пример: - у меня есть DF, как это

+---+-------+--------+
|id |fName  |lName   |
+---+-------+--------+
|1  |Akash  |Sethi   |
|2  |Kunal  |Kapoor  |
|3  |Rishabh|Verma   |
|2  |Sonu   |Mehrotra|
+---+-------+--------+

и я хочу, чтобы мой выход, как это

+---+-------+--------+--------------------+
|id |fname           |lName               |
+---+-------+--------+--------------------+
|1  |[Akash]         |[Sethi]             |
|2  |[Kunal, Sonu]   |[Kapoor, Mehrotra]  |
|3  |[Rishabh]       |[Verma]             |
+---+-------+--------+--------------------+

спасибо заранее

1 ответов


вы можете агрегировать несколько столбцов следующим образом:

df.groupBy("id").agg(collect_list("fName"), collect_list("lName"))

Это даст вам ожидаемый результат.