org.apache.pig.impl.logicalLayer
Class LOCogroup
java.lang.Object
org.apache.pig.impl.plan.Operator<LOVisitor>
org.apache.pig.impl.logicalLayer.LogicalOperator
org.apache.pig.impl.logicalLayer.LOCogroup
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<Operator>
public class LOCogroup
- extends LogicalOperator
- See Also:
- Serialized Form
Fields inherited from class org.apache.pig.impl.plan.Operator |
mKey |
Methods inherited from class org.apache.pig.impl.logicalLayer.LogicalOperator |
forceSchema, getAlias, getOperatorKey, getPlan, getRequestedParallelism, getType, reconcileSchema, regenerateSchema, setAlias, setCanonicalNames, setPlan, setRequestedParallelism, setSchema, setSchemaComputed, setType, supportsMultipleOutputs, toString |
LOCogroup
public LOCogroup(LogicalPlan plan,
OperatorKey k,
MultiMap<LogicalOperator,LogicalPlan> groupByPlans,
boolean[] isInner)
- Parameters:
plan
- LogicalPlan this operator is a part of.k
- OperatorKey for this operatorgroupByPlans
- the group by columnsisInner
- indicates whether the cogroup is inner for each relation
getInputs
public List<LogicalOperator> getInputs()
getGroupByPlans
public MultiMap<LogicalOperator,LogicalPlan> getGroupByPlans()
setGroupByPlans
public void setGroupByPlans(MultiMap<LogicalOperator,LogicalPlan> groupByPlans)
getInner
public boolean[] getInner()
setInner
public void setInner(boolean[] inner)
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
isTupleGroupCol
public boolean isTupleGroupCol()
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.
switchGroupByPlanOp
public void switchGroupByPlanOp(LogicalOperator oldOp,
LogicalOperator newOp)
- This does switch the mapping
oldOp -> List of inner plans
to
newOp -> List of inner plans
which is useful when there is a structural change in LogicalPlan
- Parameters:
oldOp
- the old operatornewOp
- the new operator
unsetSchema
public void unsetSchema()
throws VisitorException
- Description copied from class:
LogicalOperator
- Unset the schema as if it had not been calculated. This is used by
anyone who reorganizes the tree and needs to have schemas recalculated.
- Overrides:
unsetSchema
in class LogicalOperator
- Throws:
VisitorException
getAtomicGroupByType
public byte getAtomicGroupByType()
throws FrontendException
- This can be used to get the merged type of output group col
only when the group col is of atomic type
TODO: This doesn't work with group by complex type
- Returns:
- The type of the group by
- Throws:
FrontendException
getTupleGroupBySchema
public Schema getTupleGroupBySchema()
throws FrontendException
- Throws:
FrontendException
clone
protected Object clone()
throws CloneNotSupportedException
- Overrides:
clone
in class LogicalOperator
- Throws:
CloneNotSupportedException
- See Also:
Do not use the clone method directly. Operators are cloned when logical plans
are cloned using {@link LogicalPlanCloner}
Copyright © ${year} The Apache Software Foundation