pyspark метод, который является внутренним

#python #pandas #apache-spark #pyspark

#python #pandas #apache-spark #pyspark

Вопрос:

Как pyspark topandas работает внутри. Я знаю, что фрейм данных Spark может быть преобразован в фрейм данных Pandas как spark_df.toPandas с использованием метода topandas.

После запуска метода topandas он извлекает все данные в драйвер и преобразует в фрейм данных pandas или преобразование происходит в workers, и фрейм данных pandas будет создан локально для рабочих узлов?

Ответ №1:

Фреймы данных Pandas не распределяются. toPandas() приведет к тому, что строки фрейма данных будут собраны в драйвер, а затем преобразованы в один фрейм данных Pandas, как указано в документах:

toPandas()
Соберите все строки и верните pandas.Фрейм данных.

Таким образом, все предупреждения, касающиеся сбора данных на одном узле (в данном случае драйвере), также применимы toPandas .

Комментарии:

1. Имейте в виду, что в зависимости от размера набора данных может произойти переполнение памяти драйвера, потому что, как упоминалось @ernest_k, все данные отправляются в драйвер, где затем pandas dataframe создаются.