Apache DataFusion Ballista 55.0.0 is out 🎉
The main story of this release is less about new features and more about fixing the foundations. For a long time, Ballista had architectural limits that made it hard to run reliably at scale. This release addresses many of them:
- Adaptive Query Execution is now on by default, so the scheduler replans between stages using real row counts instead of pre-execution estimates. All 99 TPC-DS queries now complete and match single-process DataFusion.
- Tasks can now cover multiple input partitions instead of one task per partition, which cuts planning, serialization, and dispatch overhead.
- Executors use a bounded memory pool with spilling by default, rather than growing until the container gets killed.
- The shuffle has been reworked, and several failure paths now retry or fail promptly instead of leaving jobs hanging.
With that in place, we ran TPC-H at SF1000 (Parquet on S3) on the same Kubernetes cluster of 32 executors (8 vCPU, 64 GiB each):
- Spark 4.1.3: 898 s
- Ballista 55.0.0: 502 s
- Spark 4.1.3 + Comet 1.1.0: 455 s
So Ballista is about 1.8x faster than Spark across the suite and faster on 19 of 22 queries. Comet is still about 10% faster than Ballista overall, though Ballista wins on 7 queries. These are not tuned comparisons; the benchmarking guide has the full configuration and per-query results.
People sometimes ask why Apache DataFusion has two distributed subprojects, Comet and Ballista. They are for different audiences. Comet accelerates existing Spark workloads and aims to produce the same results as Spark, so you keep your jobs, APIs, and ecosystem. Ballista does not aim for Spark compatibility. It is for people who want distributed DataFusion queries with no JVM dependency.
There is plenty more in the release, including an Arrow Flight SQL frontend for ADBC clients, durable event logs with a history server, and range shuffles for distributed window functions.
Now that the architecture is in better shape, I expect we will see significant performance gains in upcoming releases.
Thanks to all 25 contributors!
https://lnkd.in/gxdemuNS