Mirror of Apache Hive
Java PHP Python Perl Shell PLpgSQL Other
Latest commit eb5dde2 Dec 3, 2016 @jdere jdere HIVE-15334: HIVE-13945 changed scale rules for division (Jason Dere, …
…reviewed by Sergey Shelukhin)
Permalink
Failed to load latest commit information.
accumulo-handler HIVE-15167 : remove SerDe interface; undeprecate Deserializer and Ser… Nov 15, 2016
ant HIVE-14444 Upgrade qtest execution framework to junit4 - migrate most… Aug 13, 2016
beeline HIVE-15276 CLIs spell "substitution" as "subsitution" and "auxiliary"… Nov 29, 2016
bin HIVE-15276 CLIs spell "substitution" as "subsitution" and "auxiliary"… Nov 29, 2016
binary-package-licenses HIVE-15035 Changes based on Owen's feedback. Nov 29, 2016
checkstyle HIVE-6123 : Implement checkstyle in maven (Lars Francke via Ashutosh … Sep 1, 2014
cli HIVE-15276 CLIs spell "substitution" as "subsitution" and "auxiliary"… Nov 29, 2016
common HIVE-15323 : allow the user to turn off reduce-side SMB join (Sergey … Dec 2, 2016
conf HIVE-15191: Fix typo in conf/hive-env.sh.template (Lee Dongjin, revie… Nov 15, 2016
contrib HIVE-15167 : remove SerDe interface; undeprecate Deserializer and Ser… Nov 15, 2016
data HIVE-14582 : Add trunc(numeric) udf (Chinna Rao Llam via Ashutosh Cha… Nov 30, 2016
dev-support Revert "HIVE-14835: Improve ptest2 build time (Prasanth Jayachandran … Sep 28, 2016
docs HIVE-12020: Revert log4j2 xml configuration to properties based confi… Dec 2, 2015
druid-handler HIVE-15273: Druid http client not configured correctly (Slim Bouguerr… Nov 29, 2016
findbugs HIVE-3099. add findbugs in build.xml (Ransom Hezhiqiang via egc) Jun 10, 2012
hbase-handler HIVE-13539: HiveHFileOutputFormat searching the wrong directory for H… Nov 18, 2016
hcatalog HIVE-15295: Fix HCatalog javadoc generation with Java 8 (Jesus Camach… Nov 29, 2016
hplsql HIVE-15276 CLIs spell "substitution" as "subsitution" and "auxiliary"… Nov 29, 2016
hwi HIVE-13919. Remove test TestHWISessionManager. (Siddharth Seth, revie… Jun 2, 2016
itests HIVE-15327: Outerjoin might produce wrong result depending on joinEmi… Dec 2, 2016
jdbc HIVE-14992 : Relocate several common libraries in hive jdbc uber jar … Nov 8, 2016
lib HIVE-2761: Remove lib/javaewah-0.3.jar (ecapriolo via hashutosh) Feb 25, 2012
llap-client HIVE-15242: LLAP: Act on Node update notifications from registry, fix… Dec 2, 2016
llap-common HIVE-14624 : LLAP: Use FQDN when submitting work to LLAP (Sergey Shel… Sep 20, 2016
llap-ext-client HIVE-15242: LLAP: Act on Node update notifications from registry, fix… Dec 2, 2016
llap-server HIVE-15312 : reduce logging in certain places (Sergey Shelukhin, revi… Dec 2, 2016
llap-tez HIVE-15312 : reduce logging in certain places (Sergey Shelukhin, revi… Dec 2, 2016
metastore HIVE-15321: Change to read as long for HiveConf.ConfVars.METASTORESER… Dec 1, 2016
orc HIVE-15309 Miscellaneous logging clean up (Eugene Koifman, reviewed b… Dec 1, 2016
packaging HIVE-15035 Changes based on Owen's feedback. Nov 29, 2016
ql HIVE-15334: HIVE-13945 changed scale rules for division (Jason Dere, … Dec 4, 2016
serde HIVE-15057: Nested column pruning: support all operators (Chao Sun, r… Dec 3, 2016
service-rpc HIVE-14276: Update protocol version in TOpenSessionReq and TOpenSessi… Aug 8, 2016
service HIVE-15196: LLAP UI: HIVE-14984 broke LLAP UI (Barna Zsombor Klara vi… Nov 23, 2016
shims HIVE-15135. Add an llap mode which fails if queries cannot run in lla… Nov 14, 2016
spark-client HIVE-15168: Flaky test: TestSparkClient.testJobSubmission (still flak… Nov 25, 2016
storage-api HIVE-14089 : complex type support in LLAP IO is broken (Sergey Sheluk… Nov 18, 2016
testutils HIVE-11072: Add data validation between Hive metastore upgrades tests… Nov 22, 2016
.arcconfig HIVE-2588 [jira] Update arcconfig to include commit listener Nov 17, 2011
.checkstyle HIVE-2930 [jira] Add license to the Hive files Apr 17, 2012
.gitattributes HIVE-7023 : Bucket mapjoin is broken when the number of small aliases… May 9, 2014
.gitignore HIVE-14373: Add integration tests for hive on S3 (Thomas Poepping and… Oct 13, 2016
.reviewboardrc HIVE-13642: Update GUESS_FIELDS option in .reviewboardrc to support c… May 10, 2016
.travis.yml HIVE-14585: Add travis.yml and update README to show build status (Pr… Aug 24, 2016
LICENSE HIVE-15035 Took unnecessary licenses out of LICENSE file. Added new l… Nov 29, 2016
NOTICE HIVE-15035 Changes based on Owen's feedback. Nov 29, 2016
README.md HIVE-14585: Add travis.yml and update README to show build status (Pr… Aug 24, 2016
RELEASE_NOTES.txt Update NOTICE and RELEASE_NOTES Jun 2, 2016
errata.txt HIVE-15091: Master: Update errata.txt for the missing JIRA number in … Oct 28, 2016
pom.xml HIVE-15124. Fix OrcInputFormat to use reader's schema for include boo… Nov 29, 2016

README.md

Apache Hive (TM)

Master Build Status Maven Central

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

  • Tools to enable easy access to data via SQL, thus enabling data warehousing tasks such as extract/transform/load (ETL), reporting, and data analysis

  • 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, Apache Tez or Apache Spark frameworks.

Hive provides standard SQL functionality, including many of the later 2003 and 2011 features for analytics. These include OLAP functions, subqueries, common table expressions, and more. Hive's SQL can also be extended with user code via user defined functions (UDFs), user defined aggregates (UDAFs), and user defined table functions (UDTFs).

Hive users have a choice of 3 runtimes when executing SQL queries. Users can choose between Apache Hadoop MapReduce, Apache Tez or Apache Spark frameworks as their execution backend. MapReduce is a mature framework that is proven at large scales. However, MapReduce is a purely batch framework, and queries using it may experience higher latencies (tens of seconds), even over small datasets. Apache Tez is designed for interactive query, and has substantially reduced overheads versus MapReduce. Apache Spark is a cluster computing framework that's built outside of MapReduce, but on top of HDFS, with a notion of composable and transformable distributed collection of items called Resilient Distributed Dataset (RDD) which allows processing and analysis without traditional intermediate stages that MapReduce introduces.

Users are free to switch back and forth between these frameworks at any time. In each 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. It is best used for traditional data warehousing tasks. Hive is designed to maximize scalability (scale out with more machines added dynamically to the Hadoop cluster), performance, extensibility, fault-tolerance, and loose-coupling with its input formats.

General Info

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

http://hive.apache.org/

Getting Started

Requirements

  • Java 1.7 or 1.8

  • Hadoop 1.x, 2.x (2.x required for Hive 2.x)

Upgrading from older versions of Hive

  • Hive 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 directory.

  • 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. user@hive.apache.org - To discuss and ask usage questions. Send an empty email to user-subscribe@hive.apache.org in order to subscribe to this mailing list.

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

  3. commits@hive.apache.org - In order to monitor commits to the source repository. Send an empty email to commits-subscribe@hive.apache.org in order to subscribe to this mailing list.