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

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

public class TableScanOperator
extends Operator<TableScanDesc>
implements Serializable

Table Scan Operator If the data is coming from the map-reduce framework, just forward it. This will be needed as part of local work when data is not being read as part of map-reduce framework

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.hadoop.hive.ql.exec.Operator
Operator.OperatorFunc, Operator.State
 
Field Summary
 
Fields inherited from class org.apache.hadoop.hive.ql.exec.Operator
HIVECOUNTERCREATEDFILES, HIVECOUNTERFATAL
 
Constructor Summary
TableScanOperator()
           
 
Method Summary
 void cleanUpInputFileChangedOp()
           
 Operator<? extends OperatorDesc> clone()
           
 void closeOp(boolean abort)
          Operator specific close routine.
 String getName()
          The operator name for this operator type.
 List<Integer> getNeededColumnIDs()
           
 List<String> getNeededColumns()
           
static String getOperatorName()
           
 TableDesc getTableDesc()
           
 org.apache.hadoop.hive.ql.plan.api.OperatorType getType()
          Return the type of the specific operator among the types in OperatorType.
 void processOp(Object row, int tag)
          Other than gathering statistics for the ANALYZE command, the table scan operator does not do anything special other than just forwarding the row.
 void setNeededColumnIDs(List<Integer> orign_columns)
           
 void setNeededColumns(List<String> columnNames)
           
 void setTableDesc(TableDesc tableDesc)
           
 boolean supportAutomaticSortMergeJoin()
          Whether this operator supports automatic sort merge join.
 boolean supportSkewJoinOptimization()
           
 
Methods inherited from class org.apache.hadoop.hive.ql.exec.Operator
acceptLimitPushdown, augmentPlan, cleanUpInputFileChanged, cloneOp, cloneRecursiveChildren, close, columnNamesRowResolvedCanBeObtained, dump, dump, endGroup, flush, getChildOperators, getChildren, getColumnExprMap, getConf, getConfiguration, getDone, getExecContext, getGroupKeyObject, getGroupKeyObjectInspector, getIdentifier, getInputObjInspectors, getNumChild, getNumParent, getOperatorId, getOpTraits, getOutputObjInspector, getParentOperators, getSchema, getStatistics, getStats, initialize, initializeLocalWork, initOperatorId, isUseBucketizedHiveInputFormat, jobClose, jobCloseOp, logStats, opAllowedAfterMapJoin, opAllowedBeforeMapJoin, opAllowedBeforeSortMergeJoin, opAllowedConvertMapJoin, passExecContext, preorderMap, processGroup, removeChild, removeChildAndAdoptItsChildren, removeChildren, removeParent, replaceChild, replaceParent, reset, resetId, resetStats, setAlias, setChildOperators, setColumnExprMap, setConf, setExecContext, setGroupKeyObject, setGroupKeyObjectInspector, setId, setInputObjInspectors, setOperatorId, setOpTraits, setOutputCollector, setParentOperators, setReporter, setSchema, setStatistics, setUseBucketizedHiveInputFormat, startGroup, supportUnionRemoveOptimization, toString, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TableScanOperator

public TableScanOperator()
Method Detail

getTableDesc

public TableDesc getTableDesc()

setTableDesc

public void setTableDesc(TableDesc tableDesc)

processOp

public void processOp(Object row,
                      int tag)
               throws HiveException
Other than gathering statistics for the ANALYZE command, the table scan operator does not do anything special other than just forwarding the row. Since the table data is always read as part of the map-reduce framework by the mapper. But, when this assumption stops to be true, i.e table data won't be only read by the mapper, this operator will be enhanced to read the table.

Specified by:
processOp in class Operator<TableScanDesc>
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

cleanUpInputFileChangedOp

public void cleanUpInputFileChangedOp()
                               throws HiveException
Overrides:
cleanUpInputFileChangedOp in class Operator<TableScanDesc>
Throws:
HiveException

closeOp

public 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.

Throws:
HiveException

getName

public String getName()
The operator name for this operator type. This is used to construct the rule for an operator

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

getOperatorName

public static String getOperatorName()

setNeededColumnIDs

public void setNeededColumnIDs(List<Integer> orign_columns)

getNeededColumnIDs

public List<Integer> getNeededColumnIDs()

setNeededColumns

public void setNeededColumns(List<String> columnNames)

getNeededColumns

public List<String> getNeededColumns()

getType

public org.apache.hadoop.hive.ql.plan.api.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<TableScanDesc>
Returns:
OperatorType.*

supportSkewJoinOptimization

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

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<TableScanDesc>
Returns:
TRUE if yes, FALSE otherwise.

clone

public Operator<? extends OperatorDesc> clone()
                                       throws CloneNotSupportedException
Overrides:
clone in class Operator<TableScanDesc>
Throws:
CloneNotSupportedException


Copyright © 2014 The Apache Software Foundation. All rights reserved.