You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2011/04/25 02:09:36 UTC

svn commit: r1096392 [2/2] - in /pig/branches/branch-0.9: build.xml lib/jdiff/pig_0.8.0.xml lib/jdiff/pig_0.8.1.xml

Added: pig/branches/branch-0.9/lib/jdiff/pig_0.8.1.xml
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.9/lib/jdiff/pig_0.8.1.xml?rev=1096392&view=auto
==============================================================================
--- pig/branches/branch-0.9/lib/jdiff/pig_0.8.1.xml (added)
+++ pig/branches/branch-0.9/lib/jdiff/pig_0.8.1.xml Mon Apr 25 00:09:35 2011
@@ -0,0 +1,59165 @@
+<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
+<!-- Generated by the JDiff Javadoc doclet -->
+<!-- (http://www.jdiff.org) -->
+<!-- on Mon Apr 18 19:30:25 PDT 2011 -->
+
+<api
+  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
+  xsi:noNamespaceSchemaLocation='api.xsd'
+  name="pig 0.8.1"
+  jdversion="1.0.9">
+
+<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /homes/jianyong/commit/pig8/build/ivy/lib/Pig/jdiff-1.0.9.jar:/homes/jianyong/commit/pig8/build/ivy/lib/Pig/xerces-1.4.4.jar -classpath /homes/jianyong/commit/pig8/lib/automaton.jar:/homes/jianyong/.ivy2/cache/commons-el/commons-el/jars/commons-el-1.0.jar:/homes/jianyong/.ivy2/cache/log4j/log4j/jars/log4j-1.2.14.jar:/homes/jianyong/.ivy2/cache/org.apache.hadoop/hadoop-core/jars/hadoop-core-0.20.2.jar:/homes/jianyong/.ivy2/cache/commons-cli/commons-cli/jars/commons-cli-1.2.jar:/homes/jianyong/.ivy2/cache/xmlenc/xmlenc/jars/xmlenc-0.52.jar:/homes/jianyong/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.0.1.jar:/homes/jianyong/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.3.jar:/homes/jianyong/.ivy2/cache/commons-net/commons-net/jars/commons-net-1.4.1.jar:/homes/jianyong/.ivy2/cache/oro/oro/jars/oro-2.0.8.jar:/homes/jianyong/.ivy2/cache/org.mortbay.jetty/jetty/jars/jetty-6
 .1.14.jar:/homes/jianyong/.ivy2/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.14.jar:/homes/jianyong/.ivy2/cache/org.mortbay.jetty/servlet-api-2.5/jars/servlet-api-2.5-6.1.14.jar:/homes/jianyong/.ivy2/cache/tomcat/jasper-runtime/jars/jasper-runtime-5.5.12.jar:/homes/jianyong/.ivy2/cache/tomcat/jasper-compiler/jars/jasper-compiler-5.5.12.jar:/homes/jianyong/.ivy2/cache/org.mortbay.jetty/jsp-api-2.1/jars/jsp-api-2.1-6.1.14.jar:/homes/jianyong/.ivy2/cache/org.mortbay.jetty/jsp-2.1/jars/jsp-2.1-6.1.14.jar:/homes/jianyong/.ivy2/cache/org.eclipse.jdt/core/jars/core-3.1.1.jar:/homes/jianyong/.ivy2/cache/ant/ant/jars/ant-1.6.5.jar:/homes/jianyong/.ivy2/cache/net.java.dev.jets3t/jets3t/jars/jets3t-0.7.1.jar:/homes/jianyong/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar:/homes/jianyong/.ivy2/cache/net.sf.kosmosfs/kfs/jars/kfs-0.3.jar:/homes/jianyong/.ivy2/cache/junit/junit/jars/junit-4.5.jar:/homes/jianyong/.ivy2/cache/hsqldb/hsqldb/jars/hsqldb-1.8
 .0.10.jar:/homes/jianyong/.ivy2/cache/org.apache.hadoop/hadoop-test/jars/hadoop-test-0.20.2.jar:/homes/jianyong/.ivy2/cache/org.apache.ftpserver/ftplet-api/bundles/ftplet-api-1.0.0.jar:/homes/jianyong/.ivy2/cache/org.apache.mina/mina-core/bundles/mina-core-2.0.0-M5.jar:/homes/jianyong/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.5.2.jar:/homes/jianyong/.ivy2/cache/org.apache.ftpserver/ftpserver-core/bundles/ftpserver-core-1.0.0.jar:/homes/jianyong/.ivy2/cache/org.apache.ftpserver/ftpserver-deprecated/jars/ftpserver-deprecated-1.0.0-M2.jar:/homes/jianyong/.ivy2/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.4.3.jar:/homes/jianyong/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.38.jar:/homes/jianyong/.ivy2/cache/jline/jline/jars/jline-0.9.94.jar:/homes/jianyong/.ivy2/cache/net.java.dev.javacc/javacc/jars/javacc-4.2.jar:/homes/jianyong/.ivy2/cache/org.codehaus.jackson/jackson-mapper-asl/jars/jackson-mapper-asl-1.0.1.jar:/homes/jianyong/.ivy2/cache/org.codehaus.jackson/jackso
 n-core-asl/jars/jackson-core-asl-1.0.1.jar:/homes/jianyong/.ivy2/cache/joda-time/joda-time/jars/joda-time-1.6.jar:/homes/jianyong/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.4.jar:/homes/jianyong/.ivy2/cache/com.google.guava/guava/jars/guava-r06.jar:/homes/jianyong/.ivy2/cache/org.python/jython/jars/jython-2.5.0.jar:/homes/jianyong/.ivy2/cache/org.apache.zookeeper/zookeeper/jars/zookeeper-3.3.3.jar:/homes/jianyong/.ivy2/cache/org.apache.hbase/hbase/test-jars/hbase-0.90.0-tests.jar:/homes/jianyong/.ivy2/cache/org.apache.hbase/hbase/jars/hbase-0.90.0.jar:/homes/jianyong/commit/pig8/build/pig-0.8.1.jar -sourcepath /homes/jianyong/commit/pig8/src -apidir /homes/jianyong/commit/pig8/lib//jdiff -apiname pig 0.8.1 -->
+<package name="org.apache.pig">
+  <!-- start interface org.apache.pig.Accumulator -->
+  <interface name="Accumulator"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="accumulate"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="org.apache.pig.data.Tuple"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Pass tuples to the UDF.
+ @param b A tuple containing a single field, which is a bag.  The bag will contain the set
+ of tuples being passed to the UDF in this iteration.]]>
+      </doc>
+    </method>
+    <method name="getValue" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Called when all tuples from current key have been passed to accumulate.
+ @return the value for the UDF for this key.]]>
+      </doc>
+    </method>
+    <method name="cleanup"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Called after getValue() to prepare processing for next key.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[An interface that allows UDFs that take a bag to accumulate tuples in chunks rather than take
+ the whole set at once.  This is intended for UDFs that do not need to see all of the tuples
+ together but cannot be used with the combiner.  This lowers the memory needs, avoiding the need
+ to spill large bags, and thus speeds up the query.  An example is something like session analysis.
+ It cannot be used with the combiner because all it's inputs must first be ordered.  But it does
+ not need to see all the tuples at once.  UDF implementors might also choose to implement this
+ interface so that if other UDFs in the FOREACH implement it it can be used.
+ @since Pig 0.6]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.Accumulator -->
+  <!-- start interface org.apache.pig.Algebraic -->
+  <interface name="Algebraic"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getInitial" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Get the initial function. 
+ @return A function name of f_init. f_init should be an eval func.]]>
+      </doc>
+    </method>
+    <method name="getIntermed" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Get the intermediate function. 
+ @return A function name of f_intermed. f_intermed should be an eval func.]]>
+      </doc>
+    </method>
+    <method name="getFinal" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Get the final function. 
+ @return A function name of f_final. f_final should be an eval func parametrized by
+ the same datum as the eval func implementing this interface.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[An interface to declare that an EvalFunc's 
+ calculation can be decomposed into intitial, intermediate, and final steps.
+ More formally, suppose we have to compute an function f over a bag X. In general, we need to know the entire X
+ before we can make any progress on f. However, some functions are <i>algebraic</i> e.g. SUM. In
+ these cases, you can apply some initital function f_init on subsets of X to get partial results. 
+ You can then combine partial results from different subsets of X using an intermediate function
+ f_intermed. To get the final answers, several partial results can be combined by invoking a final
+ f_final function. For the function SUM, f_init, f_intermed, and f_final are all SUM. 
+ 
+ See the code for builtin AVG to get a better idea of how algebraic works.
+ 
+ When eval functions implement this interface, Pig will attempt to use MapReduce's combiner.
+ The initial funciton will be called in the map phase and be passed a single tuple.  The
+ intermediate function will be called 0 or more times in the combiner phase.  And the final
+ function will be called once in the reduce phase.  It is important that the results be the same
+ whether the intermediate function is called 0, 1, or more times.  Hadoop makes no guarantees
+ about how many times the combiner will be called in a job.]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.Algebraic -->
+  <!-- start interface org.apache.pig.CollectableLoadFunc -->
+  <interface name="CollectableLoadFunc"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="ensureAllKeyInstancesInSameSplit"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[When this method is called, Pig is communicating to the Loader that it must
+ load data such that all instances of a key are in same split. Pig will
+ make no further checks at runtime to ensure whether the contract is honored
+ or not.
+ @throws IOException]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[This interface implemented by a {@link LoadFunc} implementations indicates to 
+ Pig that it has the capability to load data such that all instances of a key 
+ will occur in same split.
+ @since Pig 0.7]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.CollectableLoadFunc -->
+  <!-- start class org.apache.pig.ComparisonFunc -->
+  <class name="ComparisonFunc" extends="org.apache.hadoop.io.WritableComparator"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="ComparisonFunc"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="compare" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="a" type="org.apache.hadoop.io.WritableComparable"/>
+      <param name="b" type="org.apache.hadoop.io.WritableComparable"/>
+      <doc>
+      <![CDATA[Compare two tuples.  Note that even though both args are given type of
+ WritableComparable to match the WritableComparable interface, they
+ must both be tuples.
+ @param a first tuple
+ @param b tuple to compare a to
+ @return -1 if a &lt; b, 1 if a &gt; b, 0 if a = b]]>
+      </doc>
+    </method>
+    <method name="compare" return="int"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="t1" type="org.apache.pig.data.Tuple"/>
+      <param name="t2" type="org.apache.pig.data.Tuple"/>
+      <doc>
+      <![CDATA[This callback method must be implemented by all subclasses. Compares 
+ its two arguments for order.  The order of elements of the tuples correspond 
+ to the fields specified in the order by clause. 
+ Same semantics as {@link java.util.Comparator}.
+ 
+ @param t1 the first Tuple to be compared.
+ @param t2 the second Tuple to be compared.
+ @return  Returns a negative integer, zero, or a positive integer as the first
+ argument is less than, equal to, or greater than the second. 
+ @throws IOException
+ @see java.util.Comparator]]>
+      </doc>
+    </method>
+    <method name="setReporter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
+      <doc>
+      <![CDATA[Set the reporter.  If the comparison takes a long time the
+ reporter should be called occasionally to avoid Hadoop timing out
+ underneath.  The default Hadoop timeout is 600 seconds.
+ @param reporter Progress reporter]]>
+      </doc>
+    </method>
+    <field name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </field>
+    <doc>
+    <![CDATA[An interface for custom order by comparator function.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.ComparisonFunc -->
+  <!-- start class org.apache.pig.EvalFunc -->
+  <class name="EvalFunc" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="EvalFunc"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSchemaName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
+    </method>
+    <method name="getReturnType" return="java.lang.reflect.Type"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Get the Type that this EvalFunc returns.
+ @return Type]]>
+      </doc>
+    </method>
+    <method name="progress"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Utility method to allow UDF to report progress.  If exec will take more than a
+ a few seconds {@link PigProgressable#progress} should be called
+ occasionally to avoid timeouts.  Default Hadoop timeout is 600 seconds.]]>
+      </doc>
+    </method>
+    <method name="warn"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="msg" type="java.lang.String"/>
+      <param name="warningEnum" type="java.lang.Enum"/>
+      <doc>
+      <![CDATA[Issue a warning.  Warning messages are aggregated and reported to
+ the user.
+ @param msg String message of the warning
+ @param warningEnum type of warning]]>
+      </doc>
+    </method>
+    <method name="finish"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Placeholder for cleanup to be performed at the end. User defined functions can override.
+ Default implementation is a no-op.]]>
+      </doc>
+    </method>
+    <method name="exec" return="java.lang.Object"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="input" type="org.apache.pig.data.Tuple"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This callback method must be implemented by all subclasses. This
+ is the method that will be invoked on every Tuple of a given dataset.
+ Since the dataset may be divided up in a variety of ways the programmer
+ should not make assumptions about state that is maintained between
+ invocations of this method.
+ 
+ @param input the Tuple to be processed.
+ @return result, of type T.
+ @throws IOException]]>
+      </doc>
+    </method>
+    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
+      <doc>
+      <![CDATA[Report the schema of the output of this UDF.  Pig will make use of
+ this in error checking, optimization, and planning.  The schema
+ of input data to this UDF is provided.
+ @param input Schema of the input
+ @return Schema of the output]]>
+      </doc>
+    </method>
+    <method name="isAsynchronous" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[This function should be overriden to return true for functions that return their values
+ asynchronously.  Currently pig never attempts to execute a function
+ asynchronously.
+ @return true if the function can be executed asynchronously.]]>
+      </doc>
+    </method>
+    <method name="getReporter" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setReporter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
+      <doc>
+      <![CDATA[Set the reporter.  Called by Pig to provide a reference of
+ the reporter to the UDF.
+ @param reporter Hadoop reporter]]>
+      </doc>
+    </method>
+    <method name="getArgToFuncMapping" return="java.util.List"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
+      <doc>
+      <![CDATA[Allow a UDF to specify type specific implementations of itself.  For example,
+ an implementation of arithmetic sum might have int and float implementations,
+ since integer arithmetic performs much better than floating point arithmetic.  Pig's
+ typechecker will call this method and using the returned list plus the schema
+ of the function's input data, decide which implementation of the UDF to use.
+ @return A List containing FuncSpec objects representing the EvalFunc class
+ which can handle the inputs corresponding to the schema in the objects.  Each
+ FuncSpec should be constructed with a schema that describes the input for that
+ implementation.  For example, the sum function above would return two elements in its 
+ list:
+ <ol>
+ <li>FuncSpec(this.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.DOUBLE)))
+ <li>FuncSpec(IntSum.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.INTEGER)))
+ </ol>
+ This would indicate that the main implementation is used for doubles, and the special
+ implementation IntSum is used for ints.]]>
+      </doc>
+    </method>
+    <method name="getPigLogger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="setPigLogger"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="true" visibility="public"
+      deprecated="not deprecated">
+      <param name="pigLogger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"/>
+      <doc>
+      <![CDATA[Set the PigLogger object.  Called by Pig to provide a reference 
+ to the UDF.
+ @param pigLogger PigLogger object.]]>
+      </doc>
+    </method>
+    <method name="getLogger" return="org.apache.commons.logging.Log"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <field name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Reporter to send heartbeats to Hadoop.  If exec will take more than a
+ a few seconds {@link PigProgressable#progress} should be called
+ occasionally to avoid timeouts.  Default Hadoop timeout is 600 seconds.]]>
+      </doc>
+    </field>
+    <field name="log" type="org.apache.commons.logging.Log"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Logging object.  Log calls made on the front end will be sent to
+ pig's log on the client.  Log calls made on the backend will be
+ sent to stdout and can be seen in the Hadoop logs.]]>
+      </doc>
+    </field>
+    <field name="pigLogger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Logger for aggregating warnings.  Any warnings to be sent to the user
+ should be logged to this via {@link PigLogger#warn}.]]>
+      </doc>
+    </field>
+    <field name="returnType" type="java.lang.reflect.Type"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Return type of this instance of EvalFunc.]]>
+      </doc>
+    </field>
+    <doc>
+    <![CDATA[The class is used to implement functions to be applied to
+ fields in a dataset. The function is applied to each Tuple in the set.
+ The programmer should not make assumptions about state maintained
+ between invocations of the exec() method since the Pig runtime
+ will schedule and localize invocations based on information provided
+ at runtime.  The programmer also should not make assumptions about when or
+ how many times the class will be instantiated, since it may be instantiated
+ multiple times in both the front and back end.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.EvalFunc -->
+  <!-- start class org.apache.pig.ExecType -->
+  <class name="ExecType" extends="java.lang.Enum"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.io.Serializable"/>
+    <method name="values" return="org.apache.pig.ExecType[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="org.apache.pig.ExecType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <field name="LOCAL" type="org.apache.pig.ExecType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Run everything on the local machine]]>
+      </doc>
+    </field>
+    <field name="MAPREDUCE" type="org.apache.pig.ExecType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Use the Hadoop Map/Reduce framework]]>
+      </doc>
+    </field>
+    <field name="PIG" type="org.apache.pig.ExecType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Use the Experimental Hadoop framework; not available yet.]]>
+      </doc>
+    </field>
+    <doc>
+    <![CDATA[The type of query execution]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.ExecType -->
+  <!-- start class org.apache.pig.Expression -->
+  <class name="Expression" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Expression"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getOpType" return="org.apache.pig.Expression.OpType"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the opType]]>
+      </doc>
+    </method>
+    <field name="opType" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </field>
+    <doc>
+    <![CDATA[A class to communicate Filter expressions to LoadFuncs.
+ @since Pig 0.7]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.Expression -->
+  <!-- start class org.apache.pig.Expression.BinaryExpression -->
+  <class name="Expression.BinaryExpression" extends="org.apache.pig.Expression"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Expression.BinaryExpression" type="org.apache.pig.Expression, org.apache.pig.Expression, org.apache.pig.Expression.OpType"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param lhs
+ @param rhs]]>
+      </doc>
+    </constructor>
+    <method name="getLhs" return="org.apache.pig.Expression"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the left hand operand]]>
+      </doc>
+    </method>
+    <method name="getRhs" return="org.apache.pig.Expression"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the right hand operand]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+  </class>
+  <!-- end class org.apache.pig.Expression.BinaryExpression -->
+  <!-- start class org.apache.pig.Expression.Column -->
+  <class name="Expression.Column" extends="org.apache.pig.Expression"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Expression.Column" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param name]]>
+      </doc>
+    </constructor>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the name]]>
+      </doc>
+    </method>
+    <method name="setName"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+      <doc>
+      <![CDATA[@param name the name to set]]>
+      </doc>
+    </method>
+  </class>
+  <!-- end class org.apache.pig.Expression.Column -->
+  <!-- start class org.apache.pig.Expression.Const -->
+  <class name="Expression.Const" extends="org.apache.pig.Expression"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Expression.Const" type="java.lang.Object"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param value]]>
+      </doc>
+    </constructor>
+    <method name="getValue" return="java.lang.Object"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the value]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+  </class>
+  <!-- end class org.apache.pig.Expression.Const -->
+  <!-- start class org.apache.pig.Expression.OpType -->
+  <class name="Expression.OpType" extends="java.lang.Enum"
+    abstract="false"
+    static="true" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="org.apache.pig.Expression.OpType[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="org.apache.pig.Expression.OpType"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <field name="OP_PLUS" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_MINUS" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_TIMES" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_DIV" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_MOD" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_EQ" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_NE" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_GT" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_GE" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_LT" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_LE" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_AND" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="OP_OR" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="TERM_COL" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="TERM_CONST" type="org.apache.pig.Expression.OpType"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+  </class>
+  <!-- end class org.apache.pig.Expression.OpType -->
+  <!-- start class org.apache.pig.FileInputLoadFunc -->
+  <class name="FileInputLoadFunc" extends="org.apache.pig.LoadFunc"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="org.apache.pig.OrderedLoadFunc"/>
+    <constructor name="FileInputLoadFunc"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getSplitComparable" return="org.apache.hadoop.io.WritableComparable"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
+      <exception name="IOException" type="java.io.IOException"/>
+    </method>
+    <doc>
+    <![CDATA[This class provides an implementation of OrderedLoadFunc interface
+ which can be optionally re-used by LoadFuncs that use FileInputFormat, by
+ having this as a super class
+ @since Pig 0.7]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.FileInputLoadFunc -->
+  <!-- start class org.apache.pig.FileSplitComparable -->
+  <class name="FileSplitComparable" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="org.apache.hadoop.io.WritableComparable"/>
+    <implements name="java.io.Serializable"/>
+    <constructor name="FileSplitComparable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="FileSplitComparable" type="java.lang.String, long"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="compareTo" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="org.apache.pig.FileSplitComparable"/>
+    </method>
+    <method name="readFields"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="in" type="java.io.DataInput"/>
+      <exception name="IOException" type="java.io.IOException"/>
+    </method>
+    <method name="write"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="out" type="java.io.DataOutput"/>
+      <exception name="IOException" type="java.io.IOException"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="obj" type="java.lang.Object"/>
+    </method>
+    <field name="filename" type="java.lang.String"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </field>
+    <field name="offset" type="java.lang.Long"
+      transient="false" volatile="false"
+      static="false" final="false" visibility="protected"
+      deprecated="not deprecated">
+    </field>
+    <doc>
+    <![CDATA[This class represents a relative position in a file.  It records a filename
+ and an offset.  This allows Pig to order FileSplits.
+ @since Pig 0.7]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.FileSplitComparable -->
+  <!-- start class org.apache.pig.FilterFunc -->
+  <class name="FilterFunc" extends="org.apache.pig.EvalFunc"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="FilterFunc"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="finish"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Placeholder for cleanup to be performed at the end. User defined functions can override.
+ Default implementation is a no-op.]]>
+      </doc>
+    </method>
+  </class>
+  <!-- end class org.apache.pig.FilterFunc -->
+  <!-- start class org.apache.pig.FuncSpec -->
+  <class name="FuncSpec" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.io.Serializable"/>
+    <implements name="java.lang.Cloneable"/>
+    <constructor name="FuncSpec" type="java.lang.String, java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param className the name of the class for the udf
+ @param ctorArg the argument to pass the constructor for the above class.
+ Constructors can only take strings.]]>
+      </doc>
+    </constructor>
+    <constructor name="FuncSpec" type="java.lang.String, java.lang.String[]"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param className the name of the class for the udf
+ @param ctorArgs the arguments to pass to the constructor for the above class.
+ Constructors can only take strings.]]>
+      </doc>
+    </constructor>
+    <constructor name="FuncSpec" type="java.lang.String, java.lang.String[], org.apache.pig.impl.logicalLayer.schema.Schema"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param className the name of the class for the udf
+ @param ctorArgs the arguments to pass to the constructor for the above class.
+ Constructors can only take strings.
+ @param inputArgsSchema schema for input args taken by this Function]]>
+      </doc>
+    </constructor>
+    <constructor name="FuncSpec" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param funcSpec the name of the function and any arguments.
+ It should have the form: classname('arg1', 'arg2', ...)]]>
+      </doc>
+    </constructor>
+    <constructor name="FuncSpec" type="java.lang.String, org.apache.pig.impl.logicalLayer.schema.Schema"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param funcSpec funcSpec the name of the function and any arguments.
+ It should have the form: classname('arg1', 'arg2', ...)
+ @param inputArgsSchema schema for input args taken by this Function]]>
+      </doc>
+    </constructor>
+    <method name="getClassNameFromSpec" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="funcSpec" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Parse the class name out of a function specification string.
+ @return name of the class.]]>
+      </doc>
+    </method>
+    <method name="getArgStringFromSpec" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="funcSpec" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Get the argument values passed to the func spec.
+ @return argument values.  Format will be arg1, arg2, ... )]]>
+      </doc>
+    </method>
+    <method name="parseArguments" return="java.util.List"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="argString" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Parse the argument values out of a function specification string.
+ @param argString should be of the form "'arg1', 'arg2', ..."
+ @return List of the different argument strings]]>
+      </doc>
+    </method>
+    <method name="getClassName" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the className]]>
+      </doc>
+    </method>
+    <method name="setClassName"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="className" type="java.lang.String"/>
+      <doc>
+      <![CDATA[@param className the className to set]]>
+      </doc>
+    </method>
+    <method name="getCtorArgs" return="java.lang.String[]"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the ctorArgs]]>
+      </doc>
+    </method>
+    <method name="setCtorArgs"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="ctorArgs" type="java.lang.String[]"/>
+      <doc>
+      <![CDATA[@param ctorArgs the ctorArgs to set]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="getInputArgsSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the inputArgsSchema]]>
+      </doc>
+    </method>
+    <method name="setInputArgsSchema"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="inputArgsSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
+      <doc>
+      <![CDATA[@param inputArgsSchema the inputArgsSchema to set]]>
+      </doc>
+    </method>
+    <method name="equals" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="other" type="java.lang.Object"/>
+    </method>
+    <method name="hashCode" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="clone" return="org.apache.pig.FuncSpec"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
+    </method>
+    <doc>
+    <![CDATA[Class to represent a UDF specification.
+ Encapsulates the class name and the arguments to the constructor.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.FuncSpec -->
+  <!-- start interface org.apache.pig.IndexableLoadFunc -->
+  <interface name="IndexableLoadFunc"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="initialize"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This method is called by Pig run time to allow the
+ IndexableLoadFunc to perform any initialization actions
+ @param conf The job configuration object
+ @throws IOException]]>
+      </doc>
+    </method>
+    <method name="seekNear"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="keys" type="org.apache.pig.data.Tuple"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This method is called by the Pig runtime to indicate
+ to the LoadFunc to position its underlying input stream
+ near the keys supplied as the argument. Specifically:
+ 1) if the keys are present in the input stream, the loadfunc
+ implementation should position its read position to 
+ a record where the key(s) is/are the biggest key(s) less than
+ the key(s) supplied in the argument OR to the record with the
+ first occurrence of the keys(s) supplied.
+ 2) if the key(s) are absent in the input stream, the implementation
+ should position its read position to a record where the key(s)
+ is/are the biggest key(s) less than the key(s) supplied OR to the
+ first record where the key(s) is/are the smallest key(s) greater
+ than the keys(s) supplied. 
+ The description above holds for descending order data in 
+ a similar manner with "biggest" and "less than" replaced with
+ "smallest" and "greater than" and vice versa.
+  
+ @param keys Tuple with join keys (which are a prefix of the sort
+ keys of the input data). For example if the data is sorted on
+ columns in position 2,4,5 any of the following Tuples are
+ valid as an argument value:
+ (fieldAt(2))
+ (fieldAt(2), fieldAt(4))
+ (fieldAt(2), fieldAt(4), fieldAt(5))
+ 
+ The following are some invalid cases:
+ (fieldAt(4))
+ (fieldAt(2), fieldAt(5))
+ (fieldAt(4), fieldAt(5))
+ 
+ @throws IOException When the loadFunc is unable to position
+ to the required point in its input stream]]>
+      </doc>
+    </method>
+    <method name="close"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[A method called by the Pig runtime to give an opportunity
+ for implementations to perform cleanup actions like closing
+ the underlying input stream. This is necessary since while
+ performing a join the Pig run time may determine than no further
+ join is possible with remaining records and may indicate to the
+ IndexableLoader to cleanup by calling this method.
+ 
+ @throws IOException if the loadfunc is unable to perform
+ its close actions.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[This class is intended for use by LoadFunc implementations
+ which have an internal index for sorted data and can use the index
+ to support merge join in Pig. Interaction with the index 
+ is abstracted away by the methods in this interface which the Pig
+ runtime will call in a particular sequence to get the records it
+ needs to perform the merge based join.
+ 
+ The sequence of calls made from the Pig runtime are:
+ <ol>
+ <li>{@link LoadFunc#setUDFContextSignature(String)}
+ <li>{@link IndexableLoadFunc#initialize(Configuration)}
+ <li>{@link LoadFunc#setLocation(String, org.apache.hadoop.mapreduce.Job)}
+ <li>{@link IndexableLoadFunc#seekNear(Tuple)}
+ <li>{@link LoadFunc#getNext} called multiple times to retrieve data and perform the join
+ <li>{@link IndexableLoadFunc#close}
+ </ol>
+ @since Pig 0.6]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.IndexableLoadFunc -->
+  <!-- start interface org.apache.pig.LoadCaster -->
+  <interface name="LoadCaster"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="bytesToLong" return="java.lang.Long"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to long value.  
+ @param b bytearray to be cast.
+ @return Long value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToFloat" return="java.lang.Float"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to float value.  
+ @param b bytearray to be cast.
+ @return Float value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToDouble" return="java.lang.Double"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to double value.  
+ @param b bytearray to be cast.
+ @return Double value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToInteger" return="java.lang.Integer"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to integer value.  
+ @param b bytearray to be cast.
+ @return Double value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToCharArray" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to chararray value.  
+ @param b bytearray to be cast.
+ @return String value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToMap" return="java.util.Map"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to map value.  
+ @param b bytearray to be cast.
+ @return Map value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to tuple value.  
+ @param b bytearray to be cast.
+ @param fieldSchema field schema for the output tuple
+ @return Tuple value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="b" type="byte[]"/>
+      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Cast data from bytearray to bag value.  
+ @param b bytearray to be cast.
+ @param fieldSchema field schema for the output bag
+ @return Bag value.
+ @throws IOException if the value cannot be cast.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[An interface that provides cast implementations for load functions.  For casts between
+ bytearray objects and internal types, Pig relies on the load function that loaded the data to
+ provide the cast.  This is because Pig does not understand the binary representation of the
+ data and thus cannot cast it.  This interface provides functions to cast from bytearray to each
+ of Pig's internal types.
+ @since Pig 0.7]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.LoadCaster -->
+  <!-- start class org.apache.pig.LoadFunc -->
+  <class name="LoadFunc" extends="java.lang.Object"
+    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="LoadFunc"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="relativeToAbsolutePath" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This method is called by the Pig runtime in the front end to convert the
+ input location to an absolute path if the location is relative. The
+ loadFunc implementation is free to choose how it converts a relative 
+ location to an absolute location since this may depend on what the location
+ string represent (hdfs path or some other data source)
+ 
+ @param location location as provided in the "load" statement of the script
+ @param curDir the current working direction based on any "cd" statements
+ in the script before the "load" statement. If there are no "cd" statements
+ in the script, this would be the home directory - 
+ <pre>/user/<username> </pre>
+ @return the absolute location based on the arguments passed
+ @throws IOException if the conversion is not possible]]>
+      </doc>
+    </method>
+    <method name="setLocation"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Communicate to the loader the location of the object(s) being loaded.  
+ The location string passed to the LoadFunc here is the return value of 
+ {@link LoadFunc#relativeToAbsolutePath(String, Path)}. Implementations
+ should use this method to communicate the location (and any other information)
+ to its underlying InputFormat through the Job object.
+ 
+ This method will be called in the backend multiple times. Implementations
+ should bear in mind that this method is called multiple times and should
+ ensure there are no inconsistent side effects due to the multiple calls.
+ 
+ @param location Location as returned by 
+ {@link LoadFunc#relativeToAbsolutePath(String, Path)}
+ @param job the {@link Job} object
+ store or retrieve earlier stored information from the {@link UDFContext}
+ @throws IOException if the location is not valid.]]>
+      </doc>
+    </method>
+    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This will be called during planning on the front end. This is the
+ instance of InputFormat (rather than the class name) because the 
+ load function may need to instantiate the InputFormat in order 
+ to control how it is constructed.
+ @return the InputFormat associated with this loader.
+ @throws IOException if there is an exception during InputFormat 
+ construction]]>
+      </doc>
+    </method>
+    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[This will be called on the front end during planning and not on the back 
+ end during execution.
+ @return the {@link LoadCaster} associated with this loader. Returning null 
+ indicates that casts from byte array are not supported for this loader. 
+ construction
+ @throws IOException if there is an exception during LoadCaster]]>
+      </doc>
+    </method>
+    <method name="prepareToRead"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
+      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Initializes LoadFunc for reading data.  This will be called during execution
+ before any calls to getNext.  The RecordReader needs to be passed here because
+ it has been instantiated for a particular InputSplit.
+ @param reader {@link RecordReader} to be used by this instance of the LoadFunc
+ @param split The input {@link PigSplit} to process
+ @throws IOException if there is an exception during initialization]]>
+      </doc>
+    </method>
+    <method name="getNext" return="org.apache.pig.data.Tuple"
+      abstract="true" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Retrieves the next tuple to be processed. Implementations should NOT reuse
+ tuple objects (or inner member objects) they return across calls and 
+ should return a different tuple object in each call.
+ @return the next tuple to be processed or null if there are no more tuples
+ to be processed.
+ @throws IOException if there is an exception while retrieving the next
+ tuple]]>
+      </doc>
+    </method>
+    <method name="join" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="s" type="java.util.AbstractCollection"/>
+      <param name="delimiter" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Join multiple strings into a string delimited by the given delimiter.
+ 
+ @param s a collection of strings
+ @param delimiter the delimiter 
+ @return a 'delimiter' separated string]]>
+      </doc>
+    </method>
+    <method name="getPathStrings" return="java.lang.String[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="commaSeparatedPaths" type="java.lang.String"/>
+      <doc>
+      <![CDATA[Parse comma separated path strings into a string array. This method 
+ escapes commas in the Hadoop glob pattern of the given paths. 
+ 
+ This method is borrowed from 
+ {@link org.apache.hadoop.mapreduce.lib.input.FileInputFormat}. A jira
+ (MAPREDUCE-1205) is opened to make the same name method there 
+ accessible. We'll use that method directly when the jira is fixed.
+ 
+ @param commaSeparatedPaths a comma separated string
+ @return an array of path strings]]>
+      </doc>
+    </method>
+    <method name="getAbsolutePath" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
+      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
+      <doc>
+      <![CDATA[Construct the absolute path from the file location and the current
+ directory. The current directory is either of the form 
+ {code}hdfs://<nodename>:<nodeport>/<directory>{code} in Hadoop 
+ MapReduce mode, or of the form 
+ {code}file:///<directory>{code} in Hadoop local mode.
+ 
+ @param location the location string specified in the load statement
+ @param curDir the current file system directory
+ @return the absolute path of file in the file system
+ @throws FrontendException if the scheme of the location is incompatible
+         with the scheme of the file system]]>
+      </doc>
+    </method>
+    <method name="setUDFContextSignature"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="signature" type="java.lang.String"/>
+      <doc>
+      <![CDATA[This method will be called by Pig both in the front end and back end to
+ pass a unique signature to the {@link LoadFunc}. The signature can be used
+ to store into the {@link UDFContext} any information which the 
+ {@link LoadFunc} needs to store between various method invocations in the
+ front end and back end. A use case is to store {@link RequiredFieldList} 
+ passed to it in {@link LoadPushDown#pushProjection(RequiredFieldList)} for
+ use in the back end before returning tuples in {@link LoadFunc#getNext()}.
+ This method will be call before other methods in {@link LoadFunc}
+ @param signature a unique signature to identify this LoadFunc]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[A LoadFunc loads data into Pig.  It can read from an HDFS file or other source.
+ LoadFunc is tightly coupled to Hadoop's {@link org.apache.hadoop.mapreduce.InputFormat}.
+ LoadFunc's sit atop an InputFormat and translate from the keys and values of Hadoop
+ to Pig's tuples.  
+ <p>
+ LoadFunc contains the basic features needed by the majority of load functions.  For
+ more advanced functionality there are separate interfaces that a load function
+ can implement.  See {@link LoadCaster}, {@link LoadMetadata}, {@link LoadPushDown}, 
+ {@link OrderedLoadFunc}, {@link CollectableLoadFunc}, and {@link IndexableLoadFunc}.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.LoadFunc -->
+  <!-- start interface org.apache.pig.LoadMetadata -->
+  <interface name="LoadMetadata"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getSchema" return="org.apache.pig.ResourceSchema"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Get a schema for the data to be loaded.  
+ @param location Location as returned by 
+ {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
+ @param job The {@link Job} object - this should be used only to obtain 
+ cluster properties through {@link Job#getConfiguration()} and not to set/query
+ any runtime job information.  
+ @return schema for the data to be loaded. This schema should represent
+ all tuples of the returned data.  If the schema is unknown or it is
+ not possible to return a schema that represents all returned data,
+ then null should be returned. The schema should not be affected by pushProjection, ie.
+ getSchema should always return the original schema even after pushProjection
+ @throws IOException if an exception occurs while determining the schema]]>
+      </doc>
+    </method>
+    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Get statistics about the data to be loaded.  If no statistics are
+ available, then null should be returned.
+ @param location Location as returned by 
+ {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
+ @param job The {@link Job} object - this should be used only to obtain 
+ cluster properties through {@link Job#getConfiguration()} and not to set/query
+ any runtime job information.  
+ @return statistics about the data to be loaded.  If no statistics are
+ available, then null should be returned.
+ @throws IOException if an exception occurs while retrieving statistics]]>
+      </doc>
+    </method>
+    <method name="getPartitionKeys" return="java.lang.String[]"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="location" type="java.lang.String"/>
+      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Find what columns are partition keys for this input.
+ @param location Location as returned by 
+ {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
+ @param job The {@link Job} object - this should be used only to obtain 
+ cluster properties through {@link Job#getConfiguration()} and not to set/query
+ any runtime job information.  
+ @return array of field names of the partition keys. Implementations 
+ should return null to indicate that there are no partition keys
+ @throws IOException if an exception occurs while retrieving partition keys]]>
+      </doc>
+    </method>
+    <method name="setPartitionFilter"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="partitionFilter" type="org.apache.pig.Expression"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[Set the filter for partitioning.  It is assumed that this filter
+ will only contain references to fields given as partition keys in
+ getPartitionKeys. So if the implementation returns null in 
+ {@link #getPartitionKeys(String, Job)}, then this method is not
+ called by Pig runtime. This method is also not called by the Pig runtime
+ if there are no partition filter conditions. 
+ @param partitionFilter that describes filter for partitioning
+ @throws IOException if the filter is not compatible with the storage
+ mechanism or contains non-partition fields.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[This interface defines how to retrieve metadata related to data to be loaded.
+ If a given loader does not implement this interface, it will be assumed that it
+ is unable to provide metadata about the associated data.
+ @since Pig 0.7]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.LoadMetadata -->
+  <!-- start interface org.apache.pig.LoadPushDown -->
+  <interface name="LoadPushDown"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getFeatures" return="java.util.List"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Determine the operators that can be pushed to the loader.  
+ Note that by indicating a loader can accept a certain operator
+ (such as selection) the loader is not promising that it can handle
+ all selections.  When it is passed the actual operators to 
+ push down it will still have a chance to reject them.
+ @return list of all features that the loader can support]]>
+      </doc>
+    </method>
+    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
+      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
+      <doc>
+      <![CDATA[Indicate to the loader fields that will be needed.  This can be useful for
+ loaders that access data that is stored in a columnar format where indicating
+ columns to be accessed a head of time will save scans.  This method will
+ not be invoked by the Pig runtime if all fields are required. So implementations
+ should assume that if this method is not invoked, then all fields from 
+ the input are required. If the loader function cannot make use of this 
+ information, it is free to ignore it by returning an appropriate Response
+ @param requiredFieldList RequiredFieldList indicating which columns will be needed.
+ @return Indicates which fields will be returned
+ @throws FrontendException]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[This interface defines how to communicate to Pig what functionality can
+ be pushed into the loader.  If a given loader does not implement this interface
+ it will be assumed that it is unable to accept any functionality for push down.
+ @since Pig 0.7]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.LoadPushDown -->
+  <!-- start class org.apache.pig.LoadPushDown.OperatorSet -->
+  <class name="LoadPushDown.OperatorSet" extends="java.lang.Enum"
+    abstract="false"
+    static="true" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="org.apache.pig.LoadPushDown.OperatorSet[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="org.apache.pig.LoadPushDown.OperatorSet"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <field name="PROJECTION" type="org.apache.pig.LoadPushDown.OperatorSet"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <doc>
+    <![CDATA[Set of possible operations that Pig can push down to a loader.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.LoadPushDown.OperatorSet -->
+  <!-- start class org.apache.pig.LoadPushDown.RequiredField -->
+  <class name="LoadPushDown.RequiredField" extends="java.lang.Object"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.io.Serializable"/>
+    <constructor name="LoadPushDown.RequiredField"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <constructor name="LoadPushDown.RequiredField" type="java.lang.String, int, java.util.List, byte"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@param alias
+ @param index
+ @param subFields
+ @param type]]>
+      </doc>
+    </constructor>
+    <method name="getAlias" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the alias]]>
+      </doc>
+    </method>
+    <method name="getIndex" return="int"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the index]]>
+      </doc>
+    </method>
+    <method name="getSubFields" return="java.util.List"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the required sub fields. The return value is null if all
+         subfields are required]]>
+      </doc>
+    </method>
+    <method name="setSubFields"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="subFields" type="java.util.List"/>
+    </method>
+    <method name="getType" return="byte"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[@return the type]]>
+      </doc>
+    </method>
+    <method name="setType"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="t" type="byte"/>
+    </method>
+    <method name="setIndex"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="i" type="int"/>
+    </method>
+    <method name="setAlias"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="alias" type="java.lang.String"/>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
+    <![CDATA[Describes a field that is required to execute a scripts.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.LoadPushDown.RequiredField -->
+  <!-- start class org.apache.pig.LoadPushDown.RequiredFieldList -->
+  <class name="LoadPushDown.RequiredFieldList" extends="java.lang.Object"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="java.io.Serializable"/>
+    <constructor name="LoadPushDown.RequiredFieldList" type="java.util.List"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Set the list of required fields.
+ @param fields]]>
+      </doc>
+    </constructor>
+    <constructor name="LoadPushDown.RequiredFieldList"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getFields" return="java.util.List"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Geta ll required fields as a list.
+ @return the required fields - this will be null if all fields are
+         required]]>
+      </doc>
+    </method>
+    <method name="toString" return="java.lang.String"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="add"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="rf" type="org.apache.pig.LoadPushDown.RequiredField"/>
+      <doc>
+      <![CDATA[Add a field to the list of required fields.
+ @param rf required field to add to the list.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[List of fields that Pig knows to be required to executed a script.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.LoadPushDown.RequiredFieldList -->
+  <!-- start class org.apache.pig.LoadPushDown.RequiredFieldResponse -->
+  <class name="LoadPushDown.RequiredFieldResponse" extends="java.lang.Object"
+    abstract="false"
+    static="true" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="LoadPushDown.RequiredFieldResponse" type="boolean"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="getRequiredFieldResponse" return="boolean"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Indicates whether the loader will return only the requested fields or all fields.
+ @return true if only requested fields will be returned, false if all fields will be
+ returned.]]>
+      </doc>
+    </method>
+    <method name="setRequiredFieldResponse"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="honored" type="boolean"/>
+      <doc>
+      <![CDATA[Set whether the loader will return only the requesetd fields or all fields.
+ @param honored if true only requested fields will be returned, else all fields will be
+ returned.]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[Indicates whether the loader will return the requested fields or all fields.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.LoadPushDown.RequiredFieldResponse -->
+  <!-- start interface org.apache.pig.LoadStoreCaster -->
+  <interface name="LoadStoreCaster"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <implements name="org.apache.pig.LoadCaster"/>
+    <implements name="org.apache.pig.StoreCaster"/>
+    <doc>
+    <![CDATA[This is just a union interface of LoadCaster and StoreCaster, 
+ made available for simplicity.
+ @since Pig 0.8]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.LoadStoreCaster -->
+  <!-- start class org.apache.pig.Main -->
+  <class name="Main" extends="java.lang.Object"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="Main"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+    </constructor>
+    <method name="main"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="args" type="java.lang.String[]"/>
+      <doc>
+      <![CDATA[The Main-Class for the Pig Jar that will provide a shell and setup a classpath appropriate
+ for executing Jar files.  Warning, this method calls System.exit().
+ 
+ @param args
+            -jar can be used to add additional jar files (colon separated). - will start a
+            shell. -e will execute the rest of the command line as if it was input to the
+            shell.
+ @throws IOException]]>
+      </doc>
+    </method>
+    <method name="usage"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Print usage string.]]>
+      </doc>
+    </method>
+    <method name="printProperties"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <doc>
+    <![CDATA[Main class for Pig engine.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.Main -->
+  <!-- start interface org.apache.pig.OrderedLoadFunc -->
+  <interface name="OrderedLoadFunc"    abstract="true"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <method name="getSplitComparable" return="org.apache.hadoop.io.WritableComparable"
+      abstract="false" native="false" synchronized="false"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
+      <exception name="IOException" type="java.io.IOException"/>
+      <doc>
+      <![CDATA[The WritableComparable object returned will be used to compare
+ the position of different splits in an ordered stream
+ @param split An InputSplit from the InputFormat underlying this loader.
+ @return WritableComparable representing the position of the split in input
+ @throws IOException]]>
+      </doc>
+    </method>
+    <doc>
+    <![CDATA[Implementing this interface indicates to Pig that a given loader
+ can be used for MergeJoin. It does not mean the data itself is ordered,
+ but rather that the splits returned by the underlying InputFormat
+ can be ordered to match the order of the data they are loading.  For 
+ example, files splits have a natural order (that of the file they are
+ from) while splits of RDBMS does not (since tables have no inherent order).
+ The position as represented by the
+ WritableComparable object is stored in the index created by
+ a MergeJoin sampling MapReduce job to get an ordered sequence of splits.
+ It is necessary to read splits in order during a merge join to assure 
+ data is being read according to the sort order.
+ @since Pig 0.7]]>
+    </doc>
+  </interface>
+  <!-- end interface org.apache.pig.OrderedLoadFunc -->
+  <!-- start class org.apache.pig.PigCounters -->
+  <class name="PigCounters" extends="java.lang.Enum"
+    abstract="false"
+    static="false" final="true" visibility="public"
+    deprecated="not deprecated">
+    <method name="values" return="org.apache.pig.PigCounters[]"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+    </method>
+    <method name="valueOf" return="org.apache.pig.PigCounters"
+      abstract="false" native="false" synchronized="false"
+      static="true" final="false" visibility="public"
+      deprecated="not deprecated">
+      <param name="name" type="java.lang.String"/>
+    </method>
+    <field name="SPILLABLE_MEMORY_MANAGER_SPILL_COUNT" type="org.apache.pig.PigCounters"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="PROACTIVE_SPILL_COUNT_BAGS" type="org.apache.pig.PigCounters"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <field name="PROACTIVE_SPILL_COUNT_RECS" type="org.apache.pig.PigCounters"
+      transient="false" volatile="false"
+      static="true" final="true" visibility="public"
+      deprecated="not deprecated">
+    </field>
+    <doc>
+    <![CDATA[The following enum will contain the general counters that pig uses.]]>
+    </doc>
+  </class>
+  <!-- end class org.apache.pig.PigCounters -->
+  <!-- start class org.apache.pig.PigException -->
+  <class name="PigException" extends="java.io.IOException"
+    abstract="false"
+    static="false" final="false" visibility="public"
+    deprecated="not deprecated">
+    <constructor name="PigException"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with null as the error message.]]>
+      </doc>
+    </constructor>
+    <constructor name="PigException" type="java.lang.String"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with the specified message.
+
+ @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
+      </doc>
+    </constructor>
+    <constructor name="PigException" type="java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with the specified cause.
+
+ @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
+      </doc>
+    </constructor>
+    <constructor name="PigException" type="java.lang.String, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with the specified message and cause.
+
+ @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
+ @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
+      </doc>
+    </constructor>
+    <constructor name="PigException" type="java.lang.String, int"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with the specified message and cause.
+
+ @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
+ @param errCode - The error code shown to the user]]>
+      </doc>
+    </constructor>
+    <constructor name="PigException" type="java.lang.String, int, java.lang.Throwable"
+      static="false" final="false" visibility="public"
+      deprecated="not deprecated">
+      <doc>
+      <![CDATA[Create a new PigException with the specified message and cause.
+
+ @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
+ @param errCode - The error code shown to the user 

[... 57276 lines stripped ...]