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

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

public class PTFOperator
extends Operator<PTFDesc>
implements Serializable

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
PTFOperator()
           
 
Method Summary
static void connectLeadLagFunctionsToPartition(PTFDesc ptfDesc, PTFPartition.PTFPartitionIterator<Object> pItr)
           
 PTFPartition createFirstPartitionForChain(ObjectInspector oi, HiveConf hiveConf, boolean isMapSide)
          Create a new Partition.
 String getName()
          Implements the getName function for the Node Interface.
static String getOperatorName()
           
 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)
          Process the row.
 
Methods inherited from class org.apache.hadoop.hive.ql.exec.Operator
acceptLimitPushdown, augmentPlan, cleanUpInputFileChanged, cleanUpInputFileChangedOp, clone, 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, supportAutomaticSortMergeJoin, supportSkewJoinOptimization, supportUnionRemoveOptimization, toString, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PTFOperator

public PTFOperator()
Method Detail

processOp

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

Specified by:
processOp in class Operator<PTFDesc>
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<PTFDesc>
Returns:
the name of the operator

getOperatorName

public static String getOperatorName()

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

createFirstPartitionForChain

public PTFPartition createFirstPartitionForChain(ObjectInspector oi,
                                                 HiveConf hiveConf,
                                                 boolean isMapSide)
                                          throws HiveException
Create a new Partition. A partition has 2 OIs: the OI for the rows being put in and the OI for the rows coming out. You specify the output OI by giving the Serde to use to Serialize. Typically these 2 OIs are the same; but not always. For the first PTF in a chain the OI of the incoming rows is dictated by the Parent Op to this PTFOp. The output OI from the Partition is typically LazyBinaryStruct, but not always. In the case of Noop/NoopMap we keep the Strcuture the same as what is given to us.

The Partition we want to create here is for feeding the First table function in the chain. So for map-side processing use the Serde from the output Shape its InputDef. For reduce-side processing use the Serde from its RawInputShape(the shape after map-side processing).

Parameters:
oi -
hiveConf -
isMapSide -
Returns:
Throws:
HiveException

connectLeadLagFunctionsToPartition

public static void connectLeadLagFunctionsToPartition(PTFDesc ptfDesc,
                                                      PTFPartition.PTFPartitionIterator<Object> pItr)
                                               throws HiveException
Throws:
HiveException


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