вопрос по работе с PySpark

дата фрейм (df):

| id | sum |
------------
| 1  | 123 |
| 2  | 548 |
| 3  | 999 |

(это упрощенная модель реального). необходимо получить значение id с максимальным sum. Делаю так:

max=df.agg({'sum':'max'}).collect()[0][0]
#теперь перебором...
for i in df.collect():
  if i[0]==max:
     print(i[0])

очевидно что это дно(, но как сделать правильно?


Ответы (1 шт):

Автор решения: Евгений Писарев
pd=df.toPandas()
max=pd.loc[pd['sum'] == pd['sum'].max()]
rez=max['sum'].values[0]
→ Ссылка