Мои данные выглядят так:
id | duration | action1 | action2 | ...
---------------------------------------------
1 | 10 | A | D
1 | 10 | B | E
2 | 25 | A | E
1 | 7 | A | G
Я хочу сгруппировать его по идентификатору (что прекрасно работает!):
df.rdd.groupBy(lambda x: x['id']).mapValues(list).collect()
А теперь я хотел бы сгруппировать значения внутри каждой группы по продолжительности, чтобы получить что-то вроде этого:
[(id=1,
((duration=10,[(action1=A,action2=D),(action1=B,action2=E),
(duration=7,(action1=A,action2=G)),
(id=2,
((duration=25,(action1=A,action2=E)))]
А вот где я не знаю, как сделать вложенную группу. Любые советы?