Why it matters

HDFS is great for immutable data but painful for updates. Traditional workarounds involve ACID Hive (with high write overhead) or copy-on-write patterns (with high storage overhead). Kudu solves this directly.

Advertisement

The architecture

Kudu tables have primary keys. Rows are stored in columnar format across tablets (Kudu's equivalent of partitions), and updates modify rows in place via LSM-style writes.

Impala queries Kudu via the Kudu client library. Predicate pushdown into Kudu means Impala only reads matching rows; column pushdown reads only needed columns.

Impala + Kudu integrationKudu tabletscolumnar + LSMImpala plannerpushdown filtersImpala executorreads KuduFast analytical reads + low-latency updates on same storage
Impala queries Kudu with predicate pushdown.
Advertisement

How it works end to end

Primary key operations (INSERT, UPDATE, DELETE, UPSERT) are supported. Kudu enforces primary key uniqueness and manages consistency.

Range partitioning: tables can be range-partitioned on the primary key. New ranges are added as needed.

Hash partitioning: distributes writes across tablets. Combined with range for time-series distribution.