Почему Apache-Spark - Python настолько медленный локально по сравнению с пандами?

Новичок Искры здесь. Недавно я начал играть со Spark на моей локальной машине на двух ядрах с помощью команды:

pyspark --master local[2]

У меня есть текстовый файл 393Mb, который имеет почти миллион строк. Я хотел выполнить некоторые операции с данными. Я использую встроенные функции фрейма данных PySpark для выполнения простых операций, таких как groupBy, sum, max, stddev.

Тем не менее, когда я выполняю те же самые операции в пандах с точно таким же набором данных, панды, кажется, побеждают pyspark с огромным запасом с точки зрения задержки.

Мне было интересно, что может быть причиной этого. У меня есть пара мыслей.

  1. Делают ли встроенные функции процесс сериализации/десериализации неэффективным? Если да, каковы альтернативы им?
  2. Является ли набор данных слишком маленьким, чтобы он не мог превысить накладные расходы базовой JVM, на которой работает искра?

Спасибо за поиск. Очень признателен.

Ответы

Ответ 1

Так как:

Вы можете так долго продолжать...