300+ Tools CoveredSource Data Updated Weeklydates

Apache Hudi

Apache Hudi is an open data lakehouse platform built on an open table format. It brings database functions such as upserts, deletes and incremental processing to data lakes.

Visit Apache Hudi →
Type
Open Table Format

By Egor Burlakov · Edited · Source dates below

Buying snapshot

Scroll sideways to see all columns. With a keyboard, focus this table and use the arrow keys.

Decision pointWhat the project states

License

Apache-2.0.

Installation

Build from source on a Unix-like system (like Linux or Mac OS X) with Java 11 or 17, Git and Maven 3.6.0 or later, then start spark-shell with the built Spark bundle jar. The default build targets Spark 3.5.3 with Scala 2.12 and Flink 2.2.

How it runs

Inside your Apache Spark or Apache Flink jobs, which get built-in ingestion tools. Table services run inside the Spark/Flink writers or are operated independently.

Storage

All data and metadata stay on cloud storage in open formats. Listed lake storage includes Amazon S3, Google Cloud Storage, Azure Blob Storage, Apache Hadoop, Alibaba Cloud, IBM Cloud, Oracle Cloud, Tencent Cloud and MinIO.

Engine versions

Spark bundles for Spark 3.3.2+ up to 4.2; Flink bundles for Flink 1.18 up to 2.2.

Query engines and catalogs

Listed integrations include Presto, Trino, Apache Hive, AWS Athena, Apache Doris, StarRocks, Apache Impala, Amazon Redshift and ClickHouse. Catalog sync covers Apache Hive Metastore, AWS Glue, Google BigQuery, Apache XTable and more.

Processing platforms

Listed under data processing: Apache Spark, Apache Flink, Databricks, AWS EMR, Azure HDInsight, Onehouse, Ray and Daft. dbt and Apache Airflow are listed for orchestration.

Support

Community help through Slack, a mailing list and GitHub.

Our take

Choose Hudi if you already run Spark or Flink and your lake needs frequent record-level updates and deletes, such as database CDC or streaming data. If your tables are mostly written in batches, compare it with Apache Iceberg or Delta Lake before you commit.

Evaluate Apache Hudi

Comparisons

Where it stands out

  • Record-level updates and deletes. Upserts and deletes use record-level indexes built on row-oriented file formats and bloom filters, and writes keep the indexes up to date. Hudi says this covers database CDC and high-scale streaming data, including out-of-order records, bursty traffic and data deduplication.

  • Read only what changed. Incremental queries return records inserted or updated since a chosen point in time. Change data capture (CDC) queries also return deletes, with before and after images for each change, so downstream jobs do not have to rescan the table.

  • Concurrency for streaming writers. Non-blocking concurrency control handles out-of-order and late data. Optimistic concurrency control covers Read-Modify-Write style writes, with snapshot isolation between the writer and queries.

  • Ingestion included. Built-in ingestion tools and a Kafka Connect sink. Listed sources include Apache Kafka, Apache Pulsar, PostgreSQL, MySQL, Debezium and Apache Flink CDC.

  • History and recovery. Time-travel queries, savepoints for versioning and recovery, and atomic commits with rollback/restore.

  • Table maintenance built in. Table services schedule clustering, compaction, cleaning, file sizing and indexing, with configurable scheduling strategies and built-in failure handling.

Product screenshot

Apache Hudi product interface
Product UI source

Trade-offs to weigh

  • Columnar read speed depends on compaction. Hudi stores row and columnar data. Read-optimized queries give purely columnar (for example Parquet) performance only when used with a compaction policy, and streaming writers rely on asynchronous compaction from row-oriented to columnar formats. Someone has to choose and watch those policies.

  • Bundles are tied to engine versions. Spark 4.0, 4.1 and 4.2 bundles need Java 17. Only the Spark-related bundles build with Scala 2.13; the Flink bundle cannot. Engine upgrades mean a matching Hudi bundle.

  • Compression risk on older Spark. Hudi uses ZSTD as the default Parquet codec with Spark 3.5 and newer. Spark 3.3 and 3.4 keep GZIP because reading ZSTD files there can leak off-heap memory (PARQUET-2160), and the risk remains when an older Spark runtime reads ZSTD files written by another engine. Hudi advises upgrading to Spark 3.5 or newer first.

Public signals

About these signals

Verified factual signals from public sources. They indicate observable activity or interest, not total adoption, product quality, or cost.

402 GitHub commits 90d6.3k GitHub stars0 vulnerabilities across 1 package

See all signals from 6 sources
Source
Signals
Last updated
GitHub
Commits 90d:402↓8Stars:6.3k↑10
October 26, 2026
PyPI
Weekly downloads:6.7k↑932
October 26, 2026
Google Trends
Search interest:Not available

Three-month score against stable baseline terms—not search volume or adoption.

October 26, 2026
Hacker News
Matching stories, 90d:0
October 26, 2026
Stack Overflow
Questions:183
October 26, 2026
OSV
Package vulnerabilities:0 vulnerabilitiesacross 1 package

PyPI · hudi@0.5.0

October 26, 2026

Alternatives

  • Apache Iceberg. The Hudi website compares the two for streaming ingestion, for CDC workloads and on benchmarks, and has a guide to migrating from Iceberg to Hudi. These are the Hudi project's own articles, so test both formats on your own workload.

  • Delta Lake. The Hudi website compares the two for write-heavy workloads and has a guide to migrating from Delta Lake to Hudi. Databricks is also in Hudi's integration list.

  • Apache Hive tables or plain Parquet. Hudi publishes guides to migrating from both.

Alternatives to Apache Hudi

The reviewed substitutes for Apache Hudi among the open table formats, and what would make each one the better answer.

Direct alternatives

Reviewed substitutes: products bought for the same job, where a team picks one.

Delta Lake
Apache Hudi and Delta Lake are open table formats that add ACID transactions and time travel to files on a data lake. Hudi leans toward streaming ingestion, with upserts, incremental processing and record-level indexes. Delta Lake started at Databricks and is the native format there, while engines such as Spark, Trino and Flink can also read it.Applies to: Choosing between two products of the same kind for one job.
Apache Iceberg
Apache Iceberg and Apache Hudi each turn files on cloud storage into reliable tables with transactions and schema changes. Iceberg puts the weight on engine-neutral tables that Spark, Trino, Flink and Snowflake can all read and write, with partition evolution. Hudi puts the weight on fast upserts and incremental processing for streaming pipelines.Applies to: Choosing between two products of the same kind for one job.

Other approaches

A different approach to the same problem. Each substitutes only for the workload named beside it.

Amazon Redshift
Choose Redshift when you want managed cluster-based SQL with streaming ingest; Hudi plus EMR wins on cost at scale.
Explore all Apache Hudi alternatives →

Sources