Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Get the source code on your local drive using git. Most development is done on the "master":See Understanding Hive Branches below to understand which branch you should be using.

Code Block
git clone https://git-wip-us.apache.org/repos/asf/hive.git

...

The actual Maven commands you will need are discussed on the HiveDeveloperFAQ page.

Anchor
understandingbranches
understandingbranches
Understanding Hive Branches

As of June 2015, Hive has two "main lines", master and branch-1.  

All new feature work and bug fixes in Hive are contributed to the master branch.  As of June 2015, releases from master are numbered 2.x.  2.x versions are not necessarily backwards compatible with 1.x versions.

branch-1 is used to build stable, backward compatible releases.  Releases from this branch are numbered 1.x (where 1.3 will be the first release from it, as 1.2 was released from master prior to the creation of branch-1).  Until at least June 2016 all critical bug fixes (crashes, wrong results, security issues) applied to master must also be applied to branch-1.  The decision to port a feature from master to branch-1 is at the discretion of the contributor and committer.  However no features that break backwards compatibility will be accepted on branch-1.

In addition to these main lines Hive has a two types of branches, release branches and feature branches.

Release branches are made from branch-1 (for 1.x) or master (for 2.x) when the community is preparing a Hive release.  Release branches match the number of the release (e.g. branch-1.2 for Hive 1.2).  For patch releases the branch is made from the existing release branch (to avoid picking up new features from the main line).  For example, if a 1.2.1 release was being made branch-1.2.1 would be made from the tip of branch-1.2.  Once a release branch has been made inclusion of additional patches on that branch is at the discretion of the release manager.  After a release has been made from a branch additional bug fixes can still be applied to that branch in anticipation of the next patch release.  Any bug fix applied to a release branch must first be applied to master (and branch-1 if applicable).

Feature branches are used to develop new features without destabilizing the rest of Hive.  The intent of a feature branch is that it will be merged back into master once the feature has stabilized.

Hadoop Dependencies

The Hive build downloads a number of different Hadoop versions via Maven in order to compile "shims" which allow for compatibility with these Hadoop versions. However, by default, the rest of Hive is only built and tested against a single Hadoop version (1.2.1 as of this writing, but check pom.xml for the latest).

...