CEVIU Logo
Voltar
Comet converts a Spark physical plan into an equivalent DataFusion physical plan

Apache DataFusion Comet turbina desempenho de queries Spark em tabelas Iceberg

Aprofundamento CEVIU

Aprofundamento

O Apache DataFusion Comet age como uma ponte inteligente para a aceleração de queries. Ele aproveita o planejamento de consultas já otimizado pelo Spark e pelo Iceberg Java, mas desvia a execução para o ambiente nativo do DataFusion, escrito em Rust. Isso acontece no nível do plano físico: o Comet intercepita os nós do plano Spark e os converte para nós do plano Comet, que rodam no motor Rust do DataFusion, processando dados em formato colunar Arrow. Essa arquitetura permite que as operações mais intensivas em CPU, como joins e agregações, sejam executadas de forma muito mais eficiente, resultando em ganhos de performance substanciais. A interoperabilidade é crucial, mantendo o ecossistema coeso ao permitir que o Iceberg Java faça a parte de planejamento de metadados, enquanto o Iceberg Rust assume a leitura e processamento de dados de baixo nível.

O que mudou

A cobertura anterior do CEVIU News sobre o lançamento do Apache DataFusion 54.0.0 em 15 de junho de 2026 já indicava a evolução contínua da ferramenta, com foco em desempenho e suporte a dados aninhados. O Comet se beneficia diretamente desses avanços. Além disso, a notícia atual mostra uma evolução significativa para o Apache Iceberg v3, abordado pelo CEVIU em 11 de julho de 2026, com a introdução do tipo Variant. Antes, o Comet fazia fallback para o Iceberg Java ao encontrar tabelas v3. Agora, o processo de desenvolvimento do Comet está ativamente impulsionando o Iceberg Rust a suportar o Iceberg v3, com contribuições como a leitura de vetores de deleção, preenchendo as lacunas e tornando o ecossistema mais robusto.

Por que isso importa

A integração do Comet com Spark e Iceberg é um salto para a arquitetura de data lakehouse. Ela não só acelera a execução de queries em cerca de 40%, melhorando a eficiência e reduzindo custos operacionais, como também fomenta o desenvolvimento do Iceberg Rust. A estratégia de usar os quase 10.000 testes do Iceberg Java como um 'oráculo' para o Iceberg Rust permite que bugs sejam identificados e corrigidos rapidamente, garantindo maior qualidade e compatibilidade. Isso significa pipelines de dados mais rápidos e um ecossistema Iceberg mais maduro e confiável, beneficiando toda a comunidade de desenvolvedores e usuários, desde a engenharia de dados até a inteligência analítica para negócios.

Linha do tempo

  1. Apache DataFusion 54.0.0 lançado com avanços em SQL e desempenho.

  2. Apache Iceberg v3 apresenta o tipo Variant para dados semi-estruturados.

  3. Apache DataFusion demonstra processamento eficiente de grafos bilionários.

  4. Arcesium migra para arquitetura DuckDB e Iceberg, transformando data warehousing.

  5. Grab migra petabytes de dados para Apache Iceberg, ganhando em velocidade e custos.

  6. Apache Spark 4.2 chega com governança de métricas e avanços em IA.

  7. Apache DataFusion Comet turbina desempenho de queries Spark em tabelas Iceberg.

Perguntas frequentes

O que é Apache DataFusion Comet?

O Apache DataFusion Comet é um subprojeto do Apache DataFusion focado em acelerar a execução de queries do Apache Spark em tabelas Iceberg. Ele faz isso substituindo a execução baseada em JVM do Spark por uma execução nativa em Rust, aproveitando o formato de memória Arrow e o Iceberg Rust.

Como o Comet acelera as queries no Spark?

O Comet intercepta o plano de execução física do Spark após o planejamento e otimização. Em vez de o Spark executar os nós do plano, o Comet os traduz para seus próprios nós, que são então executados de forma nativa pelo motor Rust do DataFusion. Este processamento nativo sobre dados em formato colunar Arrow é significativamente mais rápido para cargas de trabalho intensivas em CPU.

Qual o impacto do Comet no desenvolvimento do Iceberg Rust?

O Comet impulsiona o desenvolvimento do Iceberg Rust ao usar os extensos testes do Iceberg Java como um harness de teste diferencial. Sempre que o Comet precisa fazer fallback para o Iceberg Java, os desenvolvedores podem forçar a execução nativa, identificar as falhas no Iceberg Rust e corrigi-las. Isso resultou em mais de 40 pull requests, acelerando a maturidade e a robustez do Iceberg Rust.

O Comet substitui o Iceberg Java ou o Spark?

Não, o Comet não substitui o Iceberg Java ou o Spark, mas sim aprimora a interação entre eles. Ele depende do Iceberg Java para o planejamento de queries e do Spark para a otimização inicial. O Comet acelera a fase de execução, mantendo a compatibilidade e a funcionalidade existentes, ao mesmo tempo em que fortalece o Iceberg Rust como uma implementação nativa complementar.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Dados
Publicado
20 de julho de 2026
Editoria
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser