Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.
pola-rs/polars
Быстрый движок запросов к DataFrame на Rust с привязками для Python, Node.js, R, Rust и SQL.
Open source альтернатива:pandas
- Звёзды
- 40,274
- Форки
- 3,221
- Открытые issues
- 2,953
- Последний коммит
- 24 часа назад
Что это?
Polars — аналитический движок запросов к DataFrame, написанный на Rust. Он поддерживает ленивое и немедленное выполнение, а перед запуском ленивые запросы оптимизируются для работы на всех доступных ядрах CPU. Потоковый движок обрабатывает наборы данных, превышающие доступный объём памяти, выполняя запрос по частям.
API построен на комбинируемых выражениях: преобразования вроде фильтрации, группировки, агрегации и сортировки можно объединить в один запрос. Данные хранятся в колоночном формате Apache Arrow, что позволяет передавать их другим инструментам на базе Arrow без копирования. Возможности расширения обеспечивают плагины ввода-вывода и выражений, а опциональный GPU-бэкенд ускоряет запросы на оборудовании NVIDIA.
Доступны привязки для Python, Rust, Node.js, R и SQL. Проект можно установить через pip, npm, crates.io и систему пакетов R.
Ключевые возможности
- 01Ленивое и немедленное выполнение со встроенной оптимизацией запросов
- 02Потоковый движок для наборов данных, превышающих доступный объём RAM
- 03Многопоточное векторизованное выполнение
- 04API на основе выражений для составления сложных запросов
- 05Колоночный формат Apache Arrow для передачи данных без копирования
- 06Опциональное ускорение на GPU NVIDIA и пользовательские плагины ввода-вывода или выражений
Сценарии использования
- Анализ больших файлов Parquet или CSV, которые не помещаются в память одной машины
- Замена медленных сценариев на pandas более быстрыми фильтрами и группировкой с агрегацией
- Создание конвейеров обработки данных на Rust или Node.js, которым нужен движок DataFrame
- Выполнение масштабируемых запросов с возможностью расширения на кластер
Быстрый старт
- 1
Установите Polars для Python с помощью pip
pip install polars - 2
Выполните отложенный запрос к файлу Parquet (замените orders.parquet именем своего файла)
Что важно знать
- Установка для Python — самый простой вариант; для сборки из исходного кода потребуются инструментарий Rust и maturin.
Темы
Частые вопросы
- Что такое polars?
- Быстрый движок запросов к DataFrame на Rust с привязками для Python, Node.js, R, Rust и SQL. Polars — аналитический движок запросов к DataFrame, написанный на Rust. Он поддерживает ленивое и немедленное выполнение, а перед запуском ленивые запросы оптимизируются для работы на всех доступных ядрах CPU. Потоковый движок обрабатывает наборы данных, превышающие доступный объём памяти, выполняя запрос по частям.
- polars можно использовать бесплатно? Какая у него лицензия?
- polars распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- polars всё ещё поддерживается?
- Активно поддерживается. Последний коммит в polars — 6 нояб. 2026 г..
- Для чего можно использовать polars?
- Анализ больших файлов Parquet или CSV, которые не помещаются в память одной машины Замена медленных сценариев на pandas более быстрыми фильтрами и группировкой с агрегацией Создание конвейеров обработки данных на Rust или Node.js, которым нужен движок DataFrame Выполнение масштабируемых запросов с возможностью расширения на кластер
- Как установить polars?
- Установите Polars для Python с помощью pip: pip install polars Выполните отложенный запрос к файлу Parquet (замените orders.parquet именем своего файла)
- Где скачать polars?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pola-rs/polars
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
GPU-ускоренная библиотека DataFrame для табличных данных с API в стиле pandas и ускорением pandas без изменений в коде.
Trino — распределённый SQL-движок для быстрых аналитических запросов к большим объёмам данных из разных источников.
Клиент Bloomberg на Rust с привязками для Python и Node.js для запросов справочных, исторических, внутридневных, потоковых данных и данных BQL.
Полноценная замена Apache Spark на Rust, запускающая существующий код PySpark через протокол Spark Connect.
Библиотека DataFrame для Python: позволяет лениво исследовать и визуализировать табличные наборы данных с миллиардами строк, не загружая их целиком в память.