← Все новости
«Переходи на Spark», говорили они. Сравнил pandas, Polars, DuckDB и PySpark на слабой машине

«Переходи на Spark», говорили они. Сравнил pandas, Polars, DuckDB и PySpark на слабой машине

Сценарий знакомый: открываешь в pandas файл побольше, ноутбук задумывается, и через минуту всё падает с MemoryError. Следом обычно звучит совет: для больших данных есть Spark. Я решил проверить его цифрами, но не на кластере, а на слабой машине с двумя ядрами и 5,8 ГБ памяти.Сравнил шесть вариантов: pandas, pandas с pyarrow, Polars, Polars в потоковом режиме, DuckDB и PySpark. Пять типовых операций, объёмы от 6 до 180 млн строк, контроль памяти и автоматическая сверка результатов между библиотеками. Эта сверка по дороге нашла баг, из-за которого Spark терял целый день данных.Кто сдался первым, кто удивил и почему переход на Spark часто не лучший выход, рассказываю под катом. Смотреть результаты