These notes are for Pig 0.14.0 release.

Highlights
==========

The highlight of this release includes Pig on Tez, OrcStorage, loader
predicate push down, constant calculation optimization and interface to
ship jar

System Requirements
===================

1. Java 1.7.x or newer, preferably from Sun. Set JAVA_HOME to the root of your
Java installation
2. Ant build tool:  http://ant.apache.org - to build source only
3. Run under Unix and Windows
4. This release is compatible with Hadoop 1.X, 0.23.X and 2.X  releases

Trying the Release
==================

1. Download pig-0.14.0.tar.gz
2. Unpack the file: tar -xzvf pig-0.14.0.tar.gz
3. Move into the installation directory: cd pig-0.14.0
4. To run pig without Hadoop cluster, execute the command below. This will
take you into an interactive shell called grunt that allows you to navigate
the local file system and execute Pig commands against the local files
    bin/pig -x local
5. To run on your Hadoop cluster, you need to set PIG_CLASSPATH environment
variable to point to the directory with your hadoop-site.xml file and then run
pig. The commands below will take you into an interactive shell called grunt
that allows you to navigate Hadoop DFS and execute Pig commands against it
export PIG_CLASSPATH=/hadoop/conf
    bin/pig
6. To build your own version of pig.jar run
    ant
7. To run unit tests run
    ant test 
8. To build jar file with available user defined functions run commands below.
    cd contrib/piggybank/java
    ant
9. To build the tutorial:
    cd tutorial
    ant
10. To run tutorial follow instructions in http://wiki.apache.org/pig/PigTutorial

Relevant Documentation
======================

Pig Documentation: http://pig.apache.org/docs/r0.14.0/
Pig Wiki: https://cwiki.apache.org/confluence/display/PIG/Index
Pig Tutorial: https://cwiki.apache.org/confluence/display/PIG/PigTutorial
