Why it matters

Impala emerged from Cloudera as the interactive answer to Hive's batch nature. It shares the Hive Metastore, so schemas are compatible, but has its own execution stack optimized for latency.

Impala remains the interactive standard in many Cloudera deployments, competing primarily with Presto/Trino and Spark SQL.

Advertisement

The architecture

Impala runs three daemon types on the cluster. The Impalad is the query executor; one runs on every worker node. The Statestore tracks cluster health and pushes updates. The Catalog service caches metastore metadata for fast access.

Queries can hit any Impalad. That daemon becomes the coordinator: it plans the query, distributes fragments to other Impalads, and gathers results.

Impala architectureImpalad (executor)one per nodeStatestorecluster healthCatalog servicemetastore cacheEvery Impalad can coordinate; C++ vectorized execution reads HDFS directly
Impala three-daemon architecture.
Advertisement

How it works end to end

Query execution is MPP. The coordinator plans the query as a DAG of fragments. Each fragment runs on multiple Impalads in parallel, streaming data between fragments via RPC. There are no intermediate HDFS writes.

The C++ engine uses code generation via LLVM. Predicates and expressions are JIT-compiled to native code for each query, achieving high per-tuple efficiency.

Data locality is exploited: fragments are scheduled on Impalads colocated with the HDFS blocks they need to read.