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"))
Это даст вам ожидаемый результат.