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.
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.
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.