2017-08-16 3 views
3

sortieren Ich habe eine Tabelle, die ID, Offset, Text enthält. Angenommen, Eingang:Pyspark Groupby dann in Gruppe

id offset text 
1 1  hello 
1 7  world 
2 1  foo 

I-Ausgang wie will:

id text 
1 hello world 
2 foo 

Ich verwende:

df.groupby(id).agg(concat_ws("",collect_list(text)) 

Aber ich weiß nicht, wie die Reihenfolge im Text zu gewährleisten. Ich tat sort vor groupby die Daten, aber ich habe gehört, dass groupby könnte die Daten mischen. Gibt es eine Möglichkeit sort innerhalb der Gruppe nach groupby Daten zu tun?

Antwort

0

sort_array hinzufügen:

from pyspark.sql.functions import sort_array 

df.groupby(id).agg(concat_ws("", sort_array(collect_list(text)))) 
+0

Das wird nicht funktionieren, ist meine Art Schlüssel-Offset, nicht String selbst. –

Verwandte Themen