Apache Impala
activeby Apache Software Foundation · since 2013 · also known as Impala, Cloudera Impala
Low-latency MPP SQL engine for Hadoop, Kudu and Iceberg tables, developed largely by Cloudera.
Overview
Apache Impala is a C++ MPP query engine that Cloudera released in 2013 to give Hadoop users interactive SQL instead of batch MapReduce. Long-running daemons on each node read Parquet, ORC, Kudu and Iceberg tables and share the Hive Metastore, so Impala and Hive or Spark see the same tables. It is still fast for BI over HDFS-era data and powers Cloudera Data Warehouse. Outside the Cloudera ecosystem, most new lakehouse projects pick Trino, Spark or a cloud warehouse instead.
Strengths & trade-offs
Strengths
- +C++ engine with LLVM codegen gives low latency on Parquet
- +Shares Hive Metastore tables with Hive and Spark
- +Updatable analytics via Apache Kudu integration
- +Iceberg support including time travel and row-level deletes
Trade-offs
- −Mostly tied to the Cloudera ecosystem
- −Smaller contributor base than Trino or Spark
- −Memory-bound joins can fail rather than spill gracefully on large inputs
Great for
- +Interactive BI on Hadoop and Cloudera clusters
- +Analytics over Kudu tables
- +Iceberg queries in Cloudera Data Warehouse
Think twice for
- −New non-Cloudera cloud stacks
- −OLTP
- −Heavy ETL better done in Spark
Capabilities
Native or official first-party support · 8 of 25 tracked
Scale & consistency
- Comfortable data size
- Large · ≤ 1 PB
- Horizontal scaling
- Native
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Strong
- Schema
- Strict
- Architecture
- Distributed, Client server
- Query languages
- SQL (Impala dialect, HiveQL-compatible)
Deployment
Ecosystem
Alternatives to Apache Impala
Fast distributed SQL query engine for federated analytics across lakes and databases.
apache-impala vs trino →The original SQL-on-Hadoop warehouse, now mostly valued for its Metastore and Iceberg support.
apache-impala vs apache-hive →Spark's SQL and DataFrame engine for large-scale batch, streaming and lakehouse processing.
apache-impala vs apache-spark-sql →Distributed SQL query engine from Meta for interactive queries over data lakes and many sources.
apache-impala vs presto →Columnar storage engine for fast analytics on fast-changing data, paired with Impala or Spark.
apache-impala vs apache-kudu →Serverless AWS query service running Trino-based SQL directly over data in S3.
apache-impala vs amazon-athena →Apache Impala FAQ
What is Apache Impala?
Apache Impala is a relational database by Apache Software Foundation, first released in 2013. Apache Impala is a C++ MPP query engine that Cloudera released in 2013 to give Hadoop users interactive SQL instead of batch MapReduce. Long-running daemons on each node read Parquet, ORC, Kudu and Iceberg tables and share the Hive Metastore, so Impala and Hive or Spark see the same tables. It is still fast for BI over HDFS-era data and powers Cloudera Data Warehouse. Outside the Cloudera ecosystem, most new lakehouse projects pick Trino, Spark or a cloud warehouse instead.
Is Apache Impala open source?
Yes. Apache Impala is open source. License: Apache License 2.0.
Does Apache Impala support ACID transactions?
Partly. Apache Impala offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.
Does Apache Impala scale horizontally?
Apache Impala scales horizontally out of the box, with built-in sharding or partitioning. It is comfortable at large scale (≤ 1 PB).
How can I run Apache Impala?
You can self-host it. Managed offerings include Cloudera Data Warehouse.
What is Apache Impala best for?
Apache Impala is a strong fit for interactive BI on Hadoop and Cloudera clusters; analytics over Kudu tables; and iceberg queries in Cloudera Data Warehouse. Think twice for new non-Cloudera cloud stacks.
What are the best alternatives to Apache Impala?
Common alternatives to Apache Impala include Trino, Apache Hive, Apache Spark SQL, Presto and Apache Kudu. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Apache Impala?
Apache Impala ranks #91 of 844 databases on the WhichDB Score (29.0/100), and #29 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.