h1. What is Apache Hive
The {tm}[Apache Hive|http://hive.apache.org]{tm} data warehouse software facilitates querying and managing large datasets residing in distributed storage. Built on top of {tm}[Apache Hadoop|http://hadoop.apache.org]{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 {tm}Apache HDFS{tm} or in other data storage systems such as {tm}Apache HBase{tm}
* query execution via MapReduce
Hive defines a simple SQL-like query language, called QL, that enables users familiar with SQL to query the data. At the same time, this language also allows programmers who are familiar with the MapReduce framework to be able 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 does not mandate read or written data be in the "Hive format"---there is no such thing. Hive works equally well on Thrift, control delimited, or your specialized data formats. Please see [File Format|DeveloperGuide#File_Formats] and [SerDe|http://www.slideshare.net/ragho/hive-user-meeting-august-2009-facebook] in the [Developer Guide|DeveloperGuide] for details.
h1. What Hive is NOT
Hadoop is a batch processing system, and Hadoop jobs tend to have high latency and incur substantial overhead in job submission and scheduling. As a result, latency for Hive queries is generally very high (minutes) even when data sets involved are very small (say a few hundred megabytes). As a result, it is difficult to compare Hive with systems such as Oracle, where analyses are conducted on a significantly smaller amount of data, but the analyses proceed much more iteratively with the response times between iterations being less than a few minutes. Hive aims to provide acceptable (but not optimal) latency for interactive data browsing, queries over small data sets, or test queries. Hive also does not provide the kind of data or query cache needed to make repeated queries over the same data set faster.
Hive is not designed for online transaction processing and does not offer real-time queries and row level updates. It is best used for batch jobs over large sets of append-only 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.
h1. Information
* General information about Hive
** [Getting Started|GettingStarted]
** [Presentations and Papers about Hive|Presentations]
** [A List of Sites and Applications Powered by Hive|PoweredBy]
** [FAQ|User FAQ]
** [hive-users mailing list|http://hive.apache.org/mailing_lists.html#Users]
** Hive IRC Channel: #hive at irc.freenode.net
** [Information about this Hive wiki|AboutThisWiki]
* For users:
** [Hive Tutorial|Tutorial]
** [HiveQL Language Manual (Queries, DML, DDL, and CLI)|LanguageManual]
** [Hive Plug-in Interfaces - User-Defined Functions and SerDes|HivePlugins]
** [Guide to Hive Operators and Functions|LanguageManual UDF]
*** [Functions for Statistics and Data Mining|StatisticsAndDataMining]
** [Hive Web Interface|HiveWebInterface]
** [Hive Client (JDBC, ODBC, Thrift, etc)|HiveClient]
** [Hive Change Log|HiveChangeLog]
* For administrators:
** [Installing Hive|AdminManual Installation]
** [Configuring Hive|AdminManual Configuration]
** [Setting up Metastore|AdminManual MetastoreAdmin]
** [Setting up Hive Web Interface|HiveWebInterface]
** [Setting up Hive Server (JDBC, ODBC, Thrift, etc)|AdminManual SettingUpHiveServer]
** [Hive on Amazon Web Services|HiveAws]
** [Hive on Amazon ElasticMapReduce|HiveAmazonElasticMapReduce]
* For developers:
** [Hive Developer FAQ|HiveDeveloperFAQ]
** [How to Contribute|HowToContribute]
** [Hive Contributors Meetings|Development ContributorsMeetings]
** [Hive Developer Guide|DeveloperGuide]
** [Plugin Developer Kit|PluginDeveloperKit]
** [Hive Performance|Performance]
** [Hive Architecture Overview|Design]
** [Hive Design Docs|DesignDocs]
** [Roadmap/call to Add More Features|Roadmap]
** [Full-text search over all Hive resources|http://search-hadoop.com/Hive]
** [Becoming A Committer|BecomingACommitter]
** [How to Commit|HowToCommit]
** [How to Release|HowToRelease]
** [Build status on Jenkins (formerly Hudson)|HudsonBuild]
** [Project Bylaws|Bylaws]
For more information, please see the official [Hive website|http://hive.apache.org].
_Apache Hive, Apache Hadoop, Apache HBase, Apache HDFS, Apache, the Apache feather logo, and the Apache Hive project logo are trademarks of The Apache Software Foundation._
|