Плюсы Apache Arrow
Arrow закладывает новый memory-уровень — колонное, компактное, соседнее в памяти хранение всех значений столбца. Это даёт сразу несколько плюсов:
🟣Данные хранятся contiguously — т.е. подряд в памяти, что снижает количество промахов кэша и повышает производительность при сканировании столбцов.
🟣Поддержка null / пропусков (missing data) на уровне битовой маски: отдельная карта битов, быстрая проверка, оптимизация путей, когда null отсутствуют.
🟣Возможность мемаппинга больших датасетов — работать с таблицами, превышающими RAM, как с mmap-файлами, читать куски данных без загрузки всего.
🟣Эффективная поддержка категориальных данных (categorical / dictionary types) — не костыли, а родной тип.
🟣Более "нормальное" добавление данных / апенд — благодаря chunked/streamed колонной структуре, можно делать append без жёсткого переписывания всего столбца.
🟣Широкая типизация и возможность добавлять новые типы данных с гибким мета-описанием, расширяемое.
То есть Arrow — это фундамент, на котором можно строить более масштабируемые, быстрые и "бигдатаподобные" аналоги pandas-подходов.
Apache Arrow ❓
#apache #arrow #pandas #bigdata
Post #830
268