# Apache Hive

> SQL over Hadoop, still shipping and now Iceberg-native

Apache Hive is a distributed, fault-tolerant data warehouse system that enables analytics at massive scale, running SQL over data in the Hadoop ecosystem on Apache Tez, with LLAP for sub-second queries and first-class Apache Iceberg support in the 4.x line.

Website: https://hive.apache.org

## Use it when

- You already run a Hadoop estate; Hive 4.x on Tez with LLAP is a real upgrade path that keeps HiveQL jobs working.
- The Hive Metastore is your catalog of record and you want the engine that maintains it natively.
- You need full DML on Iceberg (insert, update, delete, merge) inside a Hadoop-centric stack.
- Long batch jobs must survive worker failures; Tez retries tasks rather than restarting queries.

## Think twice when

- You are starting fresh on cloud object storage; Trino, Spark, or a warehouse reach the same data without a Hadoop cluster.
- Sub-second interactive queries are the goal; LLAP narrows the gap, but engines built for interactivity hold it.
- HiveQL is its own dialect, and each year on it makes leaving Hadoop more expensive.
- Operating it means a full Hadoop deployment: metastore database, Tez, YARN, and ZooKeeper.

## How it runs

Self-hosted on a Hadoop cluster: HiveServer2 fronts queries over Thrift with JDBC, ODBC, and Beeline; Tez executes them; LLAP keeps daemons warm for low latency; and the metastore sits on a relational database with leader election for HA. Managed variants ship in EMR, Dataproc, and HDInsight.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | Apache-2.0 |
| Deployment | Self-hosted, Managed |
| Workload | Batch, Interactive |
| Operational complexity | High |
| Pricing | Free |
| Language | Java |
| Repository | https://github.com/apache/hive |
| Documentation | https://hive.apache.org/docs/latest/ |
| Stars | 6k |

### Query Engines

| Attribute | Value |
| --- | --- |
| Engine shape | Distributed cluster on Tez; LLAP for sub-second |
| Non-lake sources | External tables through storage handlers, JDBC (read-only), HBase, Kafka, Druid; no write-back to the JDBC source |
| Table formats | ORC, Parquet, Avro, text and SequenceFile natively; Iceberg embedded since 4.0 with full DML, insert, update, delete, merge |
| Catalog required | It is the metastore: HMS on a relational database is the catalog Trino, Spark and Flink all talk to |
| SQL dialect | HiveQL: its own dialect rather than ANSI SQL, and the reason leaving Hadoop is expensive |
| Client access | HiveServer2 over Thrift, with JDBC and ODBC drivers and the Beeline shell |
| Concurrent users | Workload management resource plans divide LLAP into query pools, mappings route by user or group, and triggers kill runaway queries |
| Acceleration | LLAP keeps executors warm and caches data; materialized views rewrite queries automatically through Calcite, and the CBO uses column statistics |
| Failure recovery | Tez retries failed tasks and reattempts lost work, so a long batch query survives a worker dying |
| Access control | Storage-based authorization in the metastore, SQL standard-based GRANT and REVOKE in HiveServer2, column-level policies once Ranger's plugin is added |

## Capabilities

- [Query Engines](https://matca.io/capabilities/query-engine)

---

Source: https://matca.io/apache-hive
Last updated: 2026-08-31T11:40:49.100Z
