Repolode
apache

apache/datafusion-comet

Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.

Звёзды
1,315
Форки
413
Открытые issues
867
Последний коммит
21 час назад

Что это?

Apache DataFusion Comet — ускоритель для Apache Spark. Он заменяет операторы и выражения Spark реализациями, которые напрямую обрабатывают колоночные данные Apache Arrow, благодаря чему при выполнении запросов не возникает построчных накладных расходов традиционного движка Spark. Большинство операторов выполняется как нативный код на Rust на базе Apache DataFusion, остальные — в JVM на пакетах Arrow.

Comet поддерживает чтение Parquet (в том числе таблиц Iceberg из Spark), колоночный shuffle через Arrow-IPC с хеш- и диапазонным разбиением на партиции, hash-, sort-merge- и broadcast join, hash-агрегации и множество выражений Spark. Поддерживаются Spark 3.4, 3.5, 4.0, 4.1 и 4.2. Для установки нужно добавить соответствующий jar в classpath Spark и включить плагин.

Проект предназначен для существующих нагрузок на Spark SQL, DataFrame и PySpark, которым требуется работать быстрее на том же оборудовании — без GPU и других специализированных ускорителей.

Ключевые возможности

  • 01Нативное выполнение операторов и выражений Spark на Rust с использованием Apache DataFusion
  • 02Нативное чтение Parquet и ускоренное чтение таблиц Iceberg из Spark
  • 03Колоночный shuffle через Arrow-IPC с хеш- и диапазонным разбиением на партиции
  • 04Поддержка hash-, sort-merge- и broadcast join
  • 05Scala- и Java-скалярные UDF остаются в конвейере Comet благодаря whole-stage codegen
  • 06Работа с существующим кодом Spark SQL, DataFrame и PySpark без изменений

Сценарии использования

  • Снижение затрат на облачные или локальные инфраструктуры для существующих заданий Spark SQL и ETL
  • Ускорение запросов Spark к озёрам данных в форматах Parquet или Iceberg
  • Запуск крупных аналитических нагрузок, например TPC-DS, на кластерах с обычными CPU

Темы

#spark#arrow#datafusion#rust#query-acceleration#columnar#parquet#data-engineering

Частые вопросы

Что такое datafusion-comet?
Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода. Apache DataFusion Comet — ускоритель для Apache Spark. Он заменяет операторы и выражения Spark реализациями, которые напрямую обрабатывают колоночные данные Apache Arrow, благодаря чему при выполнении запросов не возникает построчных накладных расходов традиционного движка Spark. Большинство операторов выполняется как нативный код на Rust на базе Apache DataFusion, остальные — в JVM на пакетах Arrow.
datafusion-comet можно использовать бесплатно? Какая у него лицензия?
datafusion-comet распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
datafusion-comet всё ещё поддерживается?
Активно поддерживается. Последний коммит в datafusion-comet — 6 нояб. 2026 г..
Для чего можно использовать datafusion-comet?
Снижение затрат на облачные или локальные инфраструктуры для существующих заданий Spark SQL и ETL Ускорение запросов Spark к озёрам данных в форматах Parquet или Iceberg Запуск крупных аналитических нагрузок, например TPC-DS, на кластерах с обычными CPU
Где скачать datafusion-comet?
Исходный код и инструкции по установке — на GitHub: https://github.com/apache/datafusion-comet

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Высокопроизводительный движок обработки данных на Python с ядром на Rust для работы с изображениями, аудио, видео, эмбеддингами и структурированными данными в больших масштабах.

5,8 тыс.+11 за неделю586RustApache-2.0Обновлён 3 дня назад