Pull to refresh

Comments 4

Чтобы это не было отвратительно медленно в конечном итоге всё равно придется завести какую-нибудь громоздкую dask/spark/flink/datafusion.

Если были проведены какие-то тесты, то приложите, пожалуйста.

Т.к. своё тестирование на скорость я не считаю сколько бы то нибыло полным, я его не приводил. Но в качестве ответа на комментарий приведу пример:

На Python 3.6.12 клеил 2 одинаковых CSV файла размером 1.3МБ, 7.7к строк каждый по значениям в 4 колонках.
На выходе получался CSV файл размером 143МБ. Сравнивались результаты, всё сошлось.
Далее я исключил запись на диск и сравнил скорость:
- Table took 1.9088249206542969 s
- Pandas took 3.9153363704681396 s
- Polars took 2.842676877975464 s

Поэтому "отвратительно медленно" это скорее открытый вопрос, на самом деле нужно проверять насколько :) Все зависит от условий.

P.S. я не предлагаю обрабатывать тонны данных, скорее предлагаю иметь в виду такой инструмент, т.к. простота конечного кода порой выливается в приемлемой скорости.
Ну и неплохой бонус: если через Table вычитать файл и сложить обратно на диск, можно верить, что файл не изменился.
С pandas нужно поднапрячься, чтобы файл не мутировал.

P.S.2 Если задача в анализе сотен гигов и более, то можно вгрузить в Clickhouse и там удобно анализировать

Не могу к такому агитировать. Стоит использовать тот инструмент, который работает для вас.
Агитирую лишь попробовать на мелкой сторонней задаче и посмотреть как оно:)

Sign up to leave a comment.

Articles