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

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

public class SelectOperator
extends Operator<SelectDesc>
implements Serializable

Select operator implementation.

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  ExprNodeEvaluator[] eval
           
 
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, LOG, numInputRowsCntr, numOutputRowsCntr, operatorId, out, outputObjInspector, outputRows, parentOperators, reporter, state, statsMap, timeTakenCntr, totalTime
 
Constructor Summary
SelectOperator()
           
 
Method Summary
 boolean acceptLimitPushdown()
          used for LimitPushdownOptimizer if all of the operators between limit and reduce-sink does not remove any input rows in the range of limit count, limit can be pushed down to reduce-sink operator.
 boolean columnNamesRowResolvedCanBeObtained()
           
 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 initializeOp(Configuration hconf)
          Operator specific initialization.
 void processOp(Object row, int tag)
          Process the row.
 boolean supportAutomaticSortMergeJoin()
          Whether this operator supports automatic sort merge join.
 boolean supportSkewJoinOptimization()
           
 boolean supportUnionRemoveOptimization()
           
 
Methods inherited from class org.apache.hadoop.hive.ql.exec.Operator
allInitializedParentsAreClosed, areAllParentsInitialized, assignCounterNameToEnum, augmentPlan, checkFatalErrors, cleanUpInputFileChanged, cleanUpInputFileChangedOp, clone, close, closeOp, dump, dump, endGroup, fatalErrorMessage, flush, forward, 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, initializeChildren, 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, startGroup, toString, toString, updateCounters
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

eval

protected transient ExprNodeEvaluator[] eval
Constructor Detail

SelectOperator

public SelectOperator()
Method Detail

initializeOp

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

Overrides:
initializeOp in class Operator<SelectDesc>
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<SelectDesc>
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

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<SelectDesc>
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<SelectDesc>
Returns:
OperatorType.*

supportSkewJoinOptimization

public boolean supportSkewJoinOptimization()
Overrides:
supportSkewJoinOptimization in class Operator<SelectDesc>

columnNamesRowResolvedCanBeObtained

public boolean columnNamesRowResolvedCanBeObtained()
Overrides:
columnNamesRowResolvedCanBeObtained in class Operator<SelectDesc>

supportAutomaticSortMergeJoin

public boolean supportAutomaticSortMergeJoin()
Description copied from class: Operator
Whether this operator supports automatic sort merge join. The stack is traversed, and this method is invoked for all the operators.

Overrides:
supportAutomaticSortMergeJoin in class Operator<SelectDesc>
Returns:
TRUE if yes, FALSE otherwise.

supportUnionRemoveOptimization

public boolean supportUnionRemoveOptimization()
Overrides:
supportUnionRemoveOptimization in class Operator<SelectDesc>

acceptLimitPushdown

public boolean acceptLimitPushdown()
Description copied from class: Operator
used for LimitPushdownOptimizer if all of the operators between limit and reduce-sink does not remove any input rows in the range of limit count, limit can be pushed down to reduce-sink operator. forward, select, etc.

Overrides:
acceptLimitPushdown in class Operator<SelectDesc>


Copyright © 2012 The Apache Software Foundation