ETL CompareETL Compare

Review · Figures checked September 2026

Apache Gluten with Velox review: native execution for open-source Spark

ETL Compare staff · Figures checked September 2026 · Sourced from vendor docs, project pages and public benchmarks

In brief

Apache Gluten with Velox has the highest ETL fit score in this edition (3.9 out of 5). It is free, now an Apache top-level project, supports Spark 3.4 to 4.1 on standard CPU instances and needs no code changes. The price is operational: you size off-heap memory, switch the shuffle manager, treat spill as experimental and support it yourself.

3.9 / 5

ETL fit score (editorial assessment, 0-5)

ETL fit score (editorial assessment, 0-5)

Rank 1 of 7

Highest ETL fit score: open-source native engine for self-managed Spark

Gluten + Velox at a glance
ApproachOpen-source plugin that offloads Spark SQL execution to a native C++ engine (Velox or ClickHouse)
Runs onSelf-managed Spark 3.4 to 4.1 on Linux, on any platform where you control Spark config
InstancesStandard CPU instances (x86_64 or aarch64)
LicenseApache License 2.0
PriceNo license fee
Code changesNone; JAR plus Spark configuration
Figures checkedSeptember 2026

Sources: gluten.apache.org, Velox backend getting started, apache/incubator-gluten on GitHub · Fetched 27 Sep 2026

How does it score on each criterion?

Score breakdown by criterion, with reasons
CriterionWeightScoreWhy
Adoption effort20%3.8No application code changes; you add the Gluten JAR, set spark.plugins, enable off-heap memory and switch the shuffle manager, per the Velox getting-started page.
Stage coverage20%3.8Offloads execution to the Velox native engine with a columnar shuffle manager; spilling is documented as experimental.
Tuning and operating burden15%2.6Tied lowestYou size off-heap memory yourself (the docs example uses 20g) and rely on community channels; no vendor support contract is described on the project pages.
Platform and instance portability10%4.3Highest in setSupports Spark 3.4, 3.5, 4.0 and 4.1 on x86_64 and aarch64 Linux on standard CPU instances; managed-platform guides are not listed, so you install it yourself.
Cost model transparency10%5.0Tied highestApache License 2.0, no license fee; cost is your existing compute plus engineering time.
Published evidence15%3.8Tied highestPublishes TPC-H and TPC-DS results (Velox backend 2.71x overall, tested June 2023) with the benchmark named; results come from the project.
Maturity and community10%4.4Apache top-level project since March 2026, started by Intel and Kyligence in 2022, with contributors including Alibaba Cloud, Meituan, Microsoft, IBM and Google.

What is Apache Gluten?

Gluten describes itself as a middle layer that offloads the execution of JVM-based SQL engines to native engines. For Spark, the main native backend is Velox, a C++ execution engine created at Meta that its project describes as 'a high-performance, open-source execution engine designed for flexibility and reuse'. ClickHouse is the other supported backend. Gluten was started by Intel and Kyligence in 2022 and became an Apache top-level project in March 2026; contributors listed on the repository include BIGO, Meituan, Alibaba Cloud, NetEase, Baidu, Microsoft, IBM and Google.

Sources: gluten.apache.org, github.com/apache/incubator-gluten, velox-lib.io · Fetched 27 Sep 2026

What does setup involve?

There are no application code changes. The Velox getting-started page lists the configuration: set spark.plugins to org.apache.gluten.GlutenPlugin, add the Gluten jar to the driver and executor classpath, set spark.memory.offHeap.enabled to true with an off-heap size (the example uses 20g), and set spark.shuffle.manager to the ColumnarShuffleManager. Unsupported operators fall back to vanilla Spark automatically.

spark.plugins=org.apache.gluten.GlutenPlugin
spark.memory.offHeap.enabled=true
spark.memory.offHeap.size=20g
spark.shuffle.manager=org.apache.spark.shuffle.sort.ColumnarShuffleManager

Sources: gluten.apache.org/docs/getting-started/velox-backend · Fetched 27 Sep 2026

What does the project claim?

Project states

3.3x speedup on TPC-H and 3.0x on TPC-DS, up to 23x on individual queries (gluten.apache.org); the repository reports an overall 2.71x for the Velox backend, up to 14.53x on a single query, tested June 2023 (GitHub).

Source: gluten.apache.org · Fetched 27 Sep 2026

Project figure. Not measured by ETL Compare.

Sources: apache/incubator-gluten on GitHub · Fetched 27 Sep 2026

The benchmarks are named and repeatable, which is more than most vendors offer, but they are project-published and the most detailed figures are from 2023.

Where is it strong?

  • No license fee and the largest contributor base of the open-source engines here (maturity 4.4).
  • Broad Spark version support on x86_64 and aarch64 Linux, on the CPU instances you already run (portability 4.3, highest in set).
  • A columnar shuffle manager, so the gain is not limited to the compute stage.

What are the watch-outs?

  • Memory is yours to size. The off-heap pool has to be set per workload.
  • Spill in the Velox backend is documented as experimental, which matters most for exactly the spill-heavy jobs that prompt a search for an accelerator.
  • No vendor support contract is described on the project pages; the tuning and operating score (2.6) is tied lowest in the set.
  • Managed platforms: the project does not publish EMR, Dataproc or Databricks guides. It installs where you control Spark config and classpath.

Who should shortlist it?

Platform teams that self-manage Spark, have engineers who can tune memory and shuffle settings, and want a free engine with a broad contributor base.

Which job stages does it address?

Spark ETL job stages and which stages each accelerator documents addressingA waterfall of five Spark ETL job stages (read, transform, shuffle, spill, write) with illustrative proportions, and below it a grid showing, for each accelerator, whether its own documentation says it addresses that stage.Anatomy of a Spark ETL jobRead: scan and decode filesTransform: filter, join, aggregateShuffle: write and fetch between stagesSpill: memory pressure pushes data to diskWrite: encode and commit outputIllustrative proportions, not measured data. Your own split comes from the Spark UI: see Profile a slow Spark job.
Stage coverage by accelerator, from vendor documentation
AcceleratorReadTransformShuffleSpillWrite
Gluten + VeloxPartialPartialDocumentedDocumentedDocumentedDocumentedPartialPartialNot statedNot stated
  • DocumentedDocumented: the vendor's own documentation says it addresses this stage
  • PartialPartial: indirect or experimental, or covered only by an end-to-end claim
  • Not statedNot stated: not found on the pages we reviewed

This shows what each vendor says, not what we measured. Sources are listed on each review.

Offloads execution to Velox; ColumnarShuffleManager; spill documented as experimental.

Source: Velox backend getting started · Fetched 27 Sep 2026

Frequently asked questions

Is Gluten still incubating?

No. The repository states Gluten became an Apache top-level project in March 2026.

Which Spark versions does Gluten support?

The repository lists Spark 3.4, 3.5, 4.0 and 4.1.

Does Gluten need code changes?

No. You add the jar and Spark configuration; unsupported operators fall back to vanilla Spark.

What is the difference between Gluten and Velox?

Velox is the native C++ execution engine. Gluten is the layer that plugs Velox (or ClickHouse) into Spark. See What is Velox.

Compare with

Before you buy

Find your slowest stage with Profile a slow Spark job, then work out the money with Spark cost per job, explained.

Sources