вопрос по работе с 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]