Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Mirror of Apache Hive
Java PHP Perl Python Shell PLpgSQL Other
Tree: 0af6cb4272
Failed to load latest commit information.
accumulo-handler HIVE-9486 : Use session classloader instead of application loader (Na…
ant HIVE-9998 Vectorization support for interval types (Jason Dere, revie…
beeline HIVE-10202 Beeline outputs prompt+query on standard output when used …
bin HIVE-9709: Hive should support replaying cookie from JDBC driver for …
checkstyle HIVE-6123 : Implement checkstyle in maven (Lars Francke via Ashutosh …
cli HIVE-10374 : Revert HIVE-10304 deprecation message to HiveCLI (Szehon…
common HIVE-10268 : Merge cbo branch into trunk (Ashutosh Chauhan)
conf HIVE-9664. Hive 'add jar' command should be able to download and add …
contrib HIVE-6617 : Reduce ambiguity in grammar (Pengcheng Xiong via Ashutosh…
data HIVE-10119 : Allow Log verbosity to be set in hiveserver2 session (Ha…
dev-support HIVE-10318: The HMS upgrade test does not test patches that affect th…
docs HIVE-2930 [jira] Add license to the Hive files
findbugs HIVE-3099. add findbugs in build.xml (Ransom Hezhiqiang via egc)
hbase-handler HIVE-10346 : Tez on HBase has problems with settings again (Sergey Sh…
hcatalog HIVE-7948 - Add an E2E test to verify fix for HIVE-7155 (Aswathy Chel…
hwi HIVE-9485 - Update trunk to 1.2 (Brock reviewed by Thejas)
itests HIVE-10306 : We need to print tez summary when hive.server2.logging.l…
jdbc HIVE-9710: HiveServer2 should support cookie based authentication, wh…
lib HIVE-2761: Remove lib/javaewah-0.3.jar (ecapriolo via hashutosh)
metastore HIVE-10268 : Merge cbo branch into trunk (Ashutosh Chauhan)
odbc HIVE-9485 - Update trunk to 1.2 (Brock reviewed by Thejas)
packaging HIVE-9664. Hive 'add jar' command should be able to download and add …
ql HIVE-10396 : decimal_precision2.q test is failing on trunk (Jason Der…
serde HIVE-9580 : Server returns incorrect result from JOIN ON VARCHAR colu…
service HIVE-9710: HiveServer2 should support cookie based authentication, wh…
shims HIVE-9115: Hive build failure on hadoop-2.7 due to HADOOP-11356 (Jaso…
spark-client HIVE-9698: Merge trunk to Spark branch 2/15/2015 [Spark Branch]
testutils HIVE-10364: The HMS upgrade script test does not publish results when…
.checkstyle HIVE-2930 [jira] Add license to the Hive files
.gitignore HIVE-7286: Parameterize HCatMapReduceTest for testing against all Hiv…
.reviewboardrc HIVE-6481. Add .reviewboardrc file (Carl Steinbach via cws)
LICENSE HIVE-9302: Beeline add commands to register local jdbc driver names a…
NOTICE HIVE-9327. Move Microsoft copyright notice from the source code to th…
README.txt HIVE-7003 : Fix typo in README (Thejas Nair, reviewed by Lefty Leverenz)
RELEASE_NOTES.txt Update release notes for 1.1.0
pom.xml HIVE-10222 : Upgrade Calcite dependency to newest version (Jesus Cama…


Apache Hive (TM) @VERSION@

The Apache Hive (TM) data warehouse software facilitates querying and
managing large datasets residing in distributed storage. Built on top
of Apache Hadoop (TM), it provides:

* Tools to enable easy data extract/transform/load (ETL)

* A mechanism to impose structure on a variety of data formats

* Access to files stored either directly in Apache HDFS (TM) or in other
  data storage systems such as Apache HBase (TM)

* Query execution using Apache Hadoop MapReduce or Apache Tez

Hive implements a dialect of SQL (Hive QL) that focuses on analytics
and presents a rich set of SQL semantics including OLAP functions,
subqueries, common table expressions and more. Hive allows SQL
developers or users with SQL tools to easily query, analyze and
process data stored in Hadoop.
Hive also allows programmers familiar with the MapReduce framework
to plug in their custom mappers and reducers to perform more
sophisticated analysis that may not be supported by the built-in
capabilities of the language. QL can also be extended with custom
scalar functions (UDF's), aggregations (UDAF's), and table
functions (UDTF's).

Hive users have a choice of 2 runtimes when executing SQL queries.
Users can choose to use the Apache Hadoop MapReduce framework,
which is mature and proven at large scales. MapReduce is a purely
batch framework, and queries run using the MapReduce framework
may experience higher latencies (tens of seconds), even
over small datasets. Alternatively, users can choose to use the
newer Apache Tez framework to process SQL queries. Tez is
designed for interactive query and has substantially reduced
overheads versus MapReduce. Users are free to switch back and
forth between these frameworks at any time. In either case,
Hive is best suited for use cases where the amount of data
processed is large enough to require a distributed system.

Hive is not designed for online transaction processing and does
not support row level insert/updates. It is best used for batch
jobs over large sets of immutable data (like web logs). What
Hive values most are scalability (scale out with more machines
added dynamically to the Hadoop cluster), extensibility (with
MapReduce framework and UDF/UDAF/UDTF), fault-tolerance, and
loose-coupling with its input formats.

General Info

For the latest information about Hive, please visit out website at:

Getting Started

- Installation Instructions and a quick tutorial:

- A longer tutorial that covers more features of HiveQL:

- The HiveQL Language Manual:


- Java 1.6, 1.7

- Hadoop 1.x, 2.x

Upgrading from older versions of Hive

- Hive @VERSION@ includes changes to the MetaStore schema. If
  you are upgrading from an earlier version of Hive it is imperative
  that you upgrade the MetaStore schema by running the appropriate
  schema upgrade scripts located in the scripts/metastore/upgrade

- We have provided upgrade scripts for MySQL, PostgreSQL, Oracle,
  Microsoft SQL Server, and Derby databases. If you are using a
  different database for your MetaStore you will need to provide
  your own upgrade script.

Useful mailing lists

1. - To discuss and ask usage questions. Send an
   empty email to in order to subscribe
   to this mailing list.

2. - For discussions about code, design and features.
   Send an empty email to in order to
   subscribe to this mailing list.

3. - In order to monitor commits to the source
   repository. Send an empty email to
   in order to subscribe to this mailing list.
Something went wrong with that request. Please try again.