org.apache.pig.impl.logicalLayer
Class LONative

java.lang.Object
  extended by org.apache.pig.impl.plan.Operator<LOVisitor>
      extended by org.apache.pig.impl.logicalLayer.LogicalOperator
          extended by org.apache.pig.impl.logicalLayer.RelationalOperator
              extended by org.apache.pig.impl.logicalLayer.LONative
All Implemented Interfaces:
Serializable, Cloneable, Comparable<Operator>

public class LONative
extends RelationalOperator

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.pig.impl.logicalLayer.LogicalOperator
mAlias, mCustomPartitioner, mIsProjectionMapComputed, mIsSchemaComputed, mPinnedOptions, mPlan, mProjectionMap, mRequestedParallelism, mSchema, mType
 
Fields inherited from class org.apache.pig.impl.plan.Operator
mKey
 
Constructor Summary
LONative(LogicalPlan plan, OperatorKey k, String nativeJar, String[] parameters)
           
 
Method Summary
 String getNativeMRJar()
           
 String[] getParams()
           
 List<RequiredFields> getRelevantInputs(int output, int column)
          Get relevant input columns of a particular output column.
 Schema getSchema()
          Get a copy of the schema for the output of this operator.
 String name()
           
 boolean supportsMultipleInputs()
          Indicates whether this operator supports multiple inputs.
 void visit(LOVisitor v)
          Visit this node with the provided visitor.
 
Methods inherited from class org.apache.pig.impl.logicalLayer.RelationalOperator
getProjectionMap, getRequiredFields, insertPlainForEachAfter, pruneColumnInPlan, pruneColumns, regenerateProjectionMap, unsetProjectionMap
 
Methods inherited from class org.apache.pig.impl.logicalLayer.LogicalOperator
clone, forceSchema, getAlias, getAliasString, getCustomPartitioner, getOperatorKey, getPlan, getRequestedParallelism, getType, isPinnedOption, pinOption, reconcileSchema, regenerateSchema, setAlias, setCanonicalNames, setCustomPartitioner, setParent, setPlan, setRequestedParallelism, setSchema, setSchemaComputed, setType, supportsMultipleOutputs, toString, unsetSchema
 
Methods inherited from class org.apache.pig.impl.plan.Operator
compareTo, equals, hashCode, rewire
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LONative

public LONative(LogicalPlan plan,
                OperatorKey k,
                String nativeJar,
                String[] parameters)
Method Detail

getRelevantInputs

public List<RequiredFields> getRelevantInputs(int output,
                                              int column)
                                       throws FrontendException
Description copied from class: RelationalOperator
Get relevant input columns of a particular output column. The resulting input columns are necessary components only to the output column. Input columns needed by the entire RelationalOperator thus indirectly contribute to the output columns are not counted. Those are required columns. eg1: A = load 'a' AS (a0, a1, a2); B = filter a by a0=='1'; Relevant input columns for B.$1 is A.a1 because A.a1 direct generate B.$1. A.a0 is needed by the filter operator and it is considered as required fields for the relational operator. eg2: A = load 'a' AS (a0, a1); B = load 'b' AS (b0, b1); C = join A by a0, B by b0; Relevant input columns for C.$0 is A.a0. Relevant input columns for C.$1 is A.a1. eg3: A = load 'a' AS (a0, a1); B = load 'b' AS (b0, b1); C = cogroup A by a0, B by b0; Relevant input columns for C.$0 is A.a0, B.b0. Relevant input columns for C.$1 is A.*. Relevant input columns for C.$2 is B.*. eg4: A = load 'a' AS (a0, a1, a2); B = foreach A generate a1, a0+a2; Relevant input columns for B.$0 is A.a1. Relevant input columns for B.$1 is A.a0 and A.a2. eg5: A = load 'a' AS (a0, a1, a2); B = foreach A generate a1, *; Relevant input columns for B.$0 is A.a1. Relevant input columns for B.$1 is A.a0. Relevant input columns for B.$2 is A.a1. Relevant input columns for B.$3 is A.a2.

Specified by:
getRelevantInputs in class RelationalOperator
Parameters:
output - output index. Only LOSplit have output other than 0 currently
column - output column
Returns:
List of relevant input columns. null if Pig cannot determine relevant inputs or any error occurs
Throws:
FrontendException

getNativeMRJar

public String getNativeMRJar()

getParams

public String[] getParams()

visit

public void visit(LOVisitor v)
           throws VisitorException
Description copied from class: LogicalOperator
Visit this node with the provided visitor. This should only be called by the visitor class itself, never directly.

Specified by:
visit in class LogicalOperator
Parameters:
v - Visitor to visit with.
Throws:
VisitorException - if the visitor has a problem.

name

public String name()
Specified by:
name in class Operator<LOVisitor>

supportsMultipleInputs

public boolean supportsMultipleInputs()
Description copied from class: Operator
Indicates whether this operator supports multiple inputs.

Specified by:
supportsMultipleInputs in class Operator<LOVisitor>
Returns:
true if it does, otherwise false.

getSchema

public Schema getSchema()
                 throws FrontendException
Description copied from class: LogicalOperator
Get a copy of the schema for the output of this operator.

Specified by:
getSchema in class LogicalOperator
Throws:
FrontendException


Copyright © ${year} The Apache Software Foundation