Aggregieren mehrerer Spalten mit benutzerdefinierter Funktion in Spark

Ich habe mich gefragt, ob es eine Möglichkeit gibt, eine benutzerdefinierte Aggregationsfunktion für Spark-Datenrahmen über mehrere Spalten anzugeben.

Ich habe eine Tabelle wie diese vom Typ (Name, Artikel, Preis):

john | tomato | 1.99
john | carrot | 0.45
bill | apple  | 0.99
john | banana | 1.29
bill | taco   | 2.59

zu

Ich möchte den Artikel und seine Kosten für jede Person in einer Liste wie der folgenden zusammenfassen:

john | (tomato, 1.99), (carrot, 0.45), (banana, 1.29)
bill | (apple, 0.99), (taco, 2.59)

Ist dies in Datenrahmen möglich? Ich habe vor kurzem über @ gelercollect_list aber es scheint nur für eine Spalte zu funktionieren.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage