org.apache.hadoop.hive.ql.exec
Class DemuxOperator

java.lang.Object
  extended by org.apache.hadoop.hive.ql.exec.Operator<DemuxDesc>
      extended by org.apache.hadoop.hive.ql.exec.DemuxOperator
All Implemented Interfaces:
Serializable, Cloneable, Node

public class DemuxOperator
extends Operator<DemuxDesc>
implements Serializable

DemuxOperator is an operator used by MapReduce Jobs optimized by CorrelationOptimizer. If used, DemuxOperator is the first operator in reduce phase. In the case that multiple operation paths are merged into a single one, it will dispatch the record to corresponding child operators (Join or GBY).

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.hive.ql.exec.Operator
Operator.OperatorFunc, Operator.ProgressCounter, Operator.State
 
Field Summary
protected static org.apache.commons.logging.Log LOG
           
 
Fields inherited from class org.apache.hadoop.hive.ql.exec.Operator
alias, beginTime, childOperators, childOperatorsArray, childOperatorsTag, colExprMap, conf, counterNames, counterNameToEnum, counters, done, fatalErrorCntr, groupKeyObject, id, inputObjInspectors, inputRows, isLogInfoEnabled, numInputRowsCntr, numOutputRowsCntr, operatorId, out, outputObjInspector, outputRows, parentOperators, reporter, state, statsMap, timeTakenCntr, totalTime
 
Constructor Summary
DemuxOperator()
           
 
Method Summary
protected  void closeOp(boolean abort)
          Operator specific close routine.
 void endGroup()
           
 void forward(Object row, ObjectInspector rowInspector)
           
 String getName()
          Implements the getName function for the Node Interface.
static String getOperatorName()
           
 OperatorType getType()
          Return the type of the specific operator among the types in OperatorType.
protected  void initializeChildren(Configuration hconf)
          Calls initialize on each of the children with outputObjetInspector as the output row format.
protected  void initializeOp(Configuration hconf)
          Operator specific initialization.
 void processOp(Object row, int tag)
          Process the row.
 void startGroup()
           
 
Methods inherited from class org.apache.hadoop.hive.ql.exec.Operator
acceptLimitPushdown, allInitializedParentsAreClosed, areAllParentsInitialized, assignCounterNameToEnum, augmentPlan, checkFatalErrors, cleanUpInputFileChanged, cleanUpInputFileChangedOp, clone, close, columnNamesRowResolvedCanBeObtained, dump, dump, fatalErrorMessage, flush, getAdditionalCounters, getChildOperators, getChildren, getColumnExprMap, getConf, getConfiguration, getCounterNames, getCounterNameToEnum, getCounters, getDone, getExecContext, getGroupKeyObject, getIdentifier, getInputObjInspectors, getNextCntr, getNumChild, getNumParent, getOperatorId, getParentOperators, getSchema, getStats, getWrappedCounterName, incrCounter, initEvaluators, initEvaluators, initEvaluatorsAndReturnStruct, initialize, initialize, initializeCounters, initializeLocalWork, initOperatorId, isUseBucketizedHiveInputFormat, jobClose, jobCloseOp, logStats, opAllowedAfterMapJoin, opAllowedBeforeMapJoin, opAllowedBeforeSortMergeJoin, opAllowedConvertMapJoin, passExecContext, preorderMap, process, processGroup, removeChild, removeChildAndAdoptItsChildren, removeChildren, removeParent, replaceChild, replaceParent, reset, resetId, resetLastEnumUsed, resetStats, setAlias, setChildOperators, setColumnExprMap, setConf, setCounterNames, setCounterNameToEnum, setDone, setExecContext, setGroupKeyObject, setId, setInputObjInspectors, setOperatorId, setOutputCollector, setParentOperators, setReporter, setSchema, setUseBucketizedHiveInputFormat, supportAutomaticSortMergeJoin, supportSkewJoinOptimization, supportUnionRemoveOptimization, toString, toString, updateCounters
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

protected static final org.apache.commons.logging.Log LOG
Constructor Detail

DemuxOperator

public DemuxOperator()
Method Detail

initializeOp

protected void initializeOp(Configuration hconf)
                     throws HiveException
Description copied from class: Operator
Operator specific initialization.

Overrides:
initializeOp in class Operator<DemuxDesc>
Throws:
HiveException

initializeChildren

protected void initializeChildren(Configuration hconf)
                           throws HiveException
Description copied from class: Operator
Calls initialize on each of the children with outputObjetInspector as the output row format.

Overrides:
initializeChildren in class Operator<DemuxDesc>
Throws:
HiveException

processOp

public void processOp(Object row,
                      int tag)
               throws HiveException
Description copied from class: Operator
Process the row.

Specified by:
processOp in class Operator<DemuxDesc>
Parameters:
row - The object representing the row.
tag - The tag of the row usually means which parent this row comes from. Rows with the same tag should have exactly the same rowInspector all the time.
Throws:
HiveException

forward

public void forward(Object row,
                    ObjectInspector rowInspector)
             throws HiveException
Overrides:
forward in class Operator<DemuxDesc>
Throws:
HiveException

closeOp

protected void closeOp(boolean abort)
                throws HiveException
Description copied from class: Operator
Operator specific close routine. Operators which inherents this class should overwrite this funtion for their specific cleanup routine.

Overrides:
closeOp in class Operator<DemuxDesc>
Throws:
HiveException

startGroup

public void startGroup()
                throws HiveException
Overrides:
startGroup in class Operator<DemuxDesc>
Throws:
HiveException

endGroup

public void endGroup()
              throws HiveException
Overrides:
endGroup in class Operator<DemuxDesc>
Throws:
HiveException

getName

public String getName()
Description copied from class: Operator
Implements the getName function for the Node Interface.

Specified by:
getName in interface Node
Overrides:
getName in class Operator<DemuxDesc>
Returns:
the name of the operator

getOperatorName

public static String getOperatorName()

getType

public OperatorType getType()
Description copied from class: Operator
Return the type of the specific operator among the types in OperatorType.

Specified by:
getType in class Operator<DemuxDesc>
Returns:
OperatorType.*


Copyright © 2012 The Apache Software Foundation