public abstract class ExpressionOperator extends PhysicalOperator
PhysicalOperator.OriginalLocation
alias, illustrator, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, reporter, requestedParallelism, res, RESULT_EMPTY, RESULT_EOP, resultType
Constructor and Description |
---|
ExpressionOperator(OperatorKey k) |
ExpressionOperator(OperatorKey k,
int rp) |
Modifier and Type | Method and Description |
---|---|
protected Result |
accumChild(java.util.List<ExpressionOperator> child,
byte dataType)
Drive all the UDFs in accumulative mode
|
ExpressionOperator |
clone()
Make a deep copy of this operator.
|
boolean |
containUDF()
check whether this expression contains any UDF
this is called if reducer is run as accumulative mode
in this case, all UDFs must be called
|
protected abstract java.util.List<ExpressionOperator> |
getChildExpressions()
Get the sub-expressions of this expression.
|
Result |
getNextDataBag() |
void |
setIllustrator(Illustrator illustrator) |
boolean |
supportsMultipleOutputs()
Indicates whether this operator supports multiple outputs.
|
java.lang.String |
toString() |
abstract void |
visit(PhyPlanVisitor v)
Visit this node with the provided visitor.
|
addOriginalLocation, addOriginalLocation, attachInput, cloneHelper, copyAliasFrom, detachInput, getAlias, getAliasString, getIllustrator, getInputs, getLogger, getNext, getNextBigDecimal, getNextBigInteger, getNextBoolean, getNextDataByteArray, getNextDateTime, getNextDouble, getNextFloat, getNextInteger, getNextLong, getNextMap, getNextString, getNextTuple, getOriginalLocations, getPigLogger, getReporter, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isInputAttached, processInput, reset, setAccumEnd, setAccumStart, setAccumulative, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType, staticDataCleanup
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, name, regenerateProjectionMap, rewire, supportsMultipleInputs, unsetProjectionMap
finalize, getClass, notify, notifyAll, wait, wait, wait
illustratorMarkup
public ExpressionOperator(OperatorKey k)
public ExpressionOperator(OperatorKey k, int rp)
public void setIllustrator(Illustrator illustrator)
setIllustrator
in interface Illustrable
setIllustrator
in class PhysicalOperator
public boolean supportsMultipleOutputs()
Operator
supportsMultipleOutputs
in class Operator<PhyPlanVisitor>
public Result getNextDataBag() throws ExecException
getNextDataBag
in class PhysicalOperator
ExecException
public abstract void visit(PhyPlanVisitor v) throws VisitorException
Operator
visit
in class PhysicalOperator
v
- Visitor to visit with.VisitorException
- if the visitor has a problem.public ExpressionOperator clone() throws java.lang.CloneNotSupportedException
clone
in class PhysicalOperator
java.lang.CloneNotSupportedException
Do not use the clone method directly. Operators are cloned when logical plans
are cloned using {@link LogicalPlanCloner}
protected abstract java.util.List<ExpressionOperator> getChildExpressions()
public boolean containUDF()
protected Result accumChild(java.util.List<ExpressionOperator> child, byte dataType) throws ExecException
ExecException
public java.lang.String toString()
toString
in class Operator<PhyPlanVisitor>
Copyright © 2007-2012 The Apache Software Foundation