Repolode
apache

apache/datafusion-comet

Un acelerador de Spark que ejecuta operadores de Spark SQL y DataFrame sobre datos columnares de Apache Arrow mediante un motor Rust basado en DataFusion, sin cambios en el código.

Estrellas
1,315
Forks
413
Issues abiertos
867
Último commit
hace 24 horas

¿Qué es?

Apache DataFusion Comet es un acelerador para Apache Spark. Reemplaza operadores y expresiones de Spark por implementaciones que procesan directamente datos columnares de Apache Arrow, lo que evita la sobrecarga por fila del motor tradicional de Spark basado en filas durante la ejecución de consultas. La mayoría de los operadores se ejecutan como código nativo en Rust basado en Apache DataFusion; otros se ejecutan en la JVM sobre lotes de Arrow.

Comet admite lecturas de Parquet (incluidas tablas Iceberg leídas desde Spark), shuffle columnar mediante Arrow-IPC con particionamiento hash y por rango, joins hash, sort-merge y broadcast, agregaciones hash y un amplio conjunto de expresiones de Spark. Es compatible con Spark 3.4, 3.5, 4.0, 4.1 y 4.2. Para instalarlo, se agrega el jar correspondiente al classpath de Spark y se habilita el plugin.

El proyecto está dirigido a cargas de trabajo existentes de Spark SQL, DataFrame y PySpark que deberían ejecutarse más rápido en el mismo hardware, sin GPU ni otros aceleradores especializados.

Funciones clave

  • 01Ejecución nativa en Rust de operadores y expresiones de Spark, basada en Apache DataFusion
  • 02Lectura nativa de Parquet y lecturas aceleradas de tablas Iceberg desde Spark
  • 03Shuffle columnar mediante Arrow-IPC con particionamiento hash y por rango
  • 04Compatibilidad con joins hash, sort-merge y broadcast
  • 05Mantiene las UDF escalares de Scala y Java en el pipeline de Comet mediante generación de código por etapas completas
  • 06Funciona con código existente de Spark SQL, DataFrame y PySpark sin cambios

Casos de uso

  • Reducir los costos en la nube o en instalaciones propias de los trabajos existentes de Spark SQL y ETL
  • Acelerar consultas de Spark sobre data lakes con datos Parquet o Iceberg
  • Ejecutar grandes cargas de trabajo analíticas, como TPC-DS, en clústeres de CPU convencionales

Temas

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

Preguntas frecuentes

¿Qué es datafusion-comet?
Un acelerador de Spark que ejecuta operadores de Spark SQL y DataFrame sobre datos columnares de Apache Arrow mediante un motor Rust basado en DataFusion, sin cambios en el código. Apache DataFusion Comet es un acelerador para Apache Spark. Reemplaza operadores y expresiones de Spark por implementaciones que procesan directamente datos columnares de Apache Arrow, lo que evita la sobrecarga por fila del motor tradicional de Spark basado en filas durante la ejecución de consultas. La mayoría de los operadores se ejecutan como código nativo en Rust basado en Apache DataFusion; otros se ejecutan en la JVM sobre lotes de Arrow.
¿datafusion-comet es gratuito? ¿Qué licencia tiene?
datafusion-comet es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿datafusion-comet sigue mantenido?
Mantenimiento activo. El último commit de datafusion-comet fue el 6 nov 2026.
¿Para qué puedo usar datafusion-comet?
Reducir los costos en la nube o en instalaciones propias de los trabajos existentes de Spark SQL y ETL Acelerar consultas de Spark sobre data lakes con datos Parquet o Iceberg Ejecutar grandes cargas de trabajo analíticas, como TPC-DS, en clústeres de CPU convencionales
¿Dónde consigo datafusion-comet?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apache/datafusion-comet

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados