Repolode
apache

apache/datafusion-comet

Um acelerador para Spark que executa operadores de Spark SQL e DataFrame sobre dados colunares do Apache Arrow com um mecanismo Rust baseado em DataFusion, sem alterações no código.

Estrelas
1,315
Forks
413
Issues abertas
867
Último commit
há 11 horas

O que é?

O Apache DataFusion Comet é um acelerador para Apache Spark. Ele substitui operadores e expressões do Spark por implementações que processam diretamente dados colunares do Apache Arrow, evitando a sobrecarga por linha do mecanismo tradicional do Spark baseado em linhas durante a execução de consultas. A maioria dos operadores é executada como código Rust nativo baseado em Apache DataFusion, enquanto outros rodam na JVM em lotes Arrow.

O Comet oferece suporte a leituras de Parquet (incluindo tabelas Iceberg lidas pelo Spark), shuffle colunar via Arrow-IPC com particionamento por hash e por intervalo, joins hash, sort-merge e broadcast, agregações hash e um amplo conjunto de expressões do Spark. Ele é compatível com Spark 3.4, 3.5, 4.0, 4.1 e 4.2, e pode ser instalado adicionando o jar correspondente ao classpath do Spark e habilitando o plugin.

O projeto é voltado a workloads existentes de Spark SQL, DataFrame e PySpark que precisam rodar mais rápido no mesmo hardware, sem GPUs ou outros aceleradores especializados.

Recursos principais

  • 01Execução nativa em Rust de operadores e expressões do Spark, baseada em Apache DataFusion
  • 02Leitura nativa de Parquet e leituras aceleradas de tabelas Iceberg pelo Spark
  • 03Shuffle colunar via Arrow-IPC com particionamento por hash e por intervalo
  • 04Suporte a joins hash, sort-merge e broadcast
  • 05Mantém UDFs escalares em Scala e Java no pipeline do Comet por meio de whole-stage codegen
  • 06Funciona com código existente de Spark SQL, DataFrame e PySpark sem alterações

Casos de uso

  • Reduzir os custos na nuvem ou on-premises de jobs existentes de Spark SQL e ETL
  • Acelerar consultas do Spark sobre data lakes com dados Parquet ou Iceberg
  • Executar workloads analíticos de grande porte, como TPC-DS, em clusters de CPUs convencionais

Tópicos

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

Perguntas frequentes

O que é datafusion-comet?
Um acelerador para Spark que executa operadores de Spark SQL e DataFrame sobre dados colunares do Apache Arrow com um mecanismo Rust baseado em DataFusion, sem alterações no código. O Apache DataFusion Comet é um acelerador para Apache Spark. Ele substitui operadores e expressões do Spark por implementações que processam diretamente dados colunares do Apache Arrow, evitando a sobrecarga por linha do mecanismo tradicional do Spark baseado em linhas durante a execução de consultas. A maioria dos operadores é executada como código Rust nativo baseado em Apache DataFusion, enquanto outros rodam na JVM em lotes Arrow.
datafusion-comet é gratuito? Qual é a licença?
datafusion-comet é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
datafusion-comet ainda é mantido?
Manutenção ativa. O último commit de datafusion-comet foi em 6 de nov. de 2026.
Para que posso usar datafusion-comet?
Reduzir os custos na nuvem ou on-premises de jobs existentes de Spark SQL e ETL Acelerar consultas do Spark sobre data lakes com dados Parquet ou Iceberg Executar workloads analíticos de grande porte, como TPC-DS, em clusters de CPUs convencionais
Onde consigo datafusion-comet?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apache/datafusion-comet

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados