Чем отличается pandas_udf от Pyspark и to_pandas? - PullRequest
0 голосов
/ 21 января 2019

Когда я очищаю большие данные с помощью панд, у меня есть два метода: один метод - использовать @pandas_udf из pyspark 2.3+ очистки данных, другой - конвертировать sdf в pdf на toPandas(), а затем использоватьпанды, чтобы убрать.
Я запутался, чем эти методы отличаются?

Я надеюсь, что помощник мог объяснить с распределенного, скоростного и других направлений.

1 Ответ

0 голосов
/ 21 января 2019

TL; DR: @pandas_udf и toPandas очень разные;

@pandas_udf

Создает векторизованную пользовательскую функцию (UDF).

, который использует функцию векторизации панд и служит более быстрой альтернативой для udf и работает на распределенном наборе данных ; Чтобы узнать больше о производительности pandas_udf, вы можете прочитать pandas_udf против теста производительности udf здесь .

В то время как toPandas собирает распределенный фрейм данных искры как фрейм данных pandas, фрейм данных pandas локализован и находится в памяти драйвера так:

этот метод следует использовать только в том случае, если результирующий DataFrame Pandas будет небольшим, так как все данные загружаются в драйвер память.

Так что, если ваши данные большие, вы не можете использовать toPandas; @pandas_udf или udf или другие встроенные методы будут вашим единственным вариантом;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...