Skip to content

artefucktor/spark_vs_dask_vs_pandas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 

Repository files navigation

Простой тест-сравнение PySpark, Dask и Pandas

Условия

  • Тест в локал моде, не кластер
  • на ноутбуке с 16 гб оперативы
  • на диске свободно еще 17 гб для раздувания файла подкачки

В тесте используются данные MTS ML Cup 2023

Датасет содержит 322млн.899435 строк – история активности пользователей в интернете.

Для теста сделаем простое преобразование – распарсим урлы:

  • Добавлен поларс – отличный инструмент
  • Спарк справляется с этой задачей легко и непринужденно
  • Даск тоже, но немного подольше.
  • Пандас – у меня не получилось, даже если ограничить чтение из датасета заданными колонками, The kernel appears to have died и Out of memory.

И добавим вторую задачу – агрегацию по операционным системам устройств:

  • Поларс топчик, легко и на огромной скорости!
  • Спарк ок
  • Даск – ядро упало
  • Пандас даже не будем пробовать

Немного оптимизации

Память:

  • Cпарксешн по умолчанию ставит очень маленький объем памяти, тогда падает джава (connection refused).
  • Если разрешить использовать слишком много – падает вообще все (too low space).
  • Для моих условий получилось оптимальное – 4 гб для драйвера.

Процессор:

  • По умолчанию используется только одно ядро. Это долго и печально.
  • В local можно указать разрешенное количество ядер или звездочку – все. Тогда скорость выполнения приятно увеличивается.

Дополнение:

  • Еще в настройках ноутбука надо отключить всякие зеленые фичи типа экономии энергии )

ПыСы: да, я эталонный нищеброд )))

About

A simple test comparison of PySpark, Dask and Pandas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published