|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.pig.impl.plan.Operator<PhyPlanVisitor>
org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator
org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter
public class POCounter
This operator is part of the RANK operator implementation. It adds a local counter and a unique task id to each tuple. There are 2 modes of operations: regular and dense. The local counter is depends on the mode of operation. With regular rank is considered duplicate rows while assigning numbers to distinct values groups. With dense rank counts the number of distinct values, without considering duplicate rows. Depending on if it is considered. the entire tuple (row number) or a by a set of columns (rank by). This Physical Operator relies on some specific MR class, available at PigMapReduceCounter.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
---|
PhysicalOperator.OriginalLocation |
Field Summary | |
---|---|
protected static TupleFactory |
mTupleFactory
|
Fields inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
---|
alias, illustrator, input, inputAttached, inputs, lineageTracer, outputs, parentPlan, pigLogger, requestedParallelism, res, resultType |
Fields inherited from class org.apache.pig.impl.plan.Operator |
---|
mKey |
Constructor Summary | |
---|---|
POCounter(OperatorKey k)
|
|
POCounter(OperatorKey k,
int rp)
|
|
POCounter(OperatorKey k,
int rp,
List<PhysicalOperator> inputs)
|
|
POCounter(OperatorKey operatorKey,
int requestedParallelism,
List inp,
List<PhysicalPlan> counterPlans,
List<Boolean> ascendingCol)
|
|
POCounter(OperatorKey k,
List<PhysicalOperator> inputs)
|
Method Summary | |
---|---|
protected Result |
addCounterValue(Result input)
Add current task id and local counter value. |
void |
addToLocalCounter(Long sizeBag)
|
List<Boolean> |
getAscendingColumns()
|
List<PhysicalPlan> |
getCounterPlans()
|
Long |
getLocalCounter()
|
Result |
getNextTuple()
|
String |
getOperationID()
|
String |
getTaskId()
|
Tuple |
illustratorMarkup(Object in,
Object out,
int eqClassIndex)
input tuple mark up to be illustrate-able |
Long |
incrementLocalCounter()
Sequential counter used at ROW NUMBER and RANK BY DENSE mode |
boolean |
isDenseRank()
|
boolean |
isRowNumber()
|
String |
name()
|
void |
resetLocalCounter()
Initialization step into the POCounter is to set up local counter to 1. |
void |
setAscendingColumns(List<Boolean> mAscCols)
|
void |
setCounterPlans(List<PhysicalPlan> counterPlans)
|
void |
setIsDenseRank(boolean isDenseRank)
Dense Rank flag |
void |
setIsRowNumber(boolean isRowNumber)
Row number flag |
void |
setLocalCounter(Long localCount)
|
void |
setOperationID(String operationID)
Operation ID: identifier shared within the corresponding PORank |
void |
setTaskId(String taskID)
Task ID: identifier of the task (map or reducer) |
boolean |
supportsMultipleInputs()
Indicates whether this operator supports multiple inputs. |
boolean |
supportsMultipleOutputs()
Indicates whether this operator supports multiple outputs. |
void |
visit(PhyPlanVisitor v)
Visit this node with the provided visitor. |
Methods inherited from class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator |
---|
addOriginalLocation, addOriginalLocation, attachInput, clone, cloneHelper, detachInput, getAlias, getAliasString, getIllustrator, getInputs, getLogger, getNext, getNextBigDecimal, getNextBigInteger, getNextBoolean, getNextDataBag, getNextDataByteArray, getNextDateTime, getNextDouble, getNextFloat, getNextInteger, getNextLong, getNextMap, getNextString, getOriginalLocations, getPigLogger, getReporter, getRequestedParallelism, getResultType, isAccumStarted, isAccumulative, isBlocking, isInputAttached, processInput, reset, setAccumEnd, setAccumStart, setAccumulative, setIllustrator, setInputs, setParentPlan, setPigLogger, setReporter, setRequestedParallelism, setResultType |
Methods inherited from class org.apache.pig.impl.plan.Operator |
---|
compareTo, equals, getOperatorKey, getProjectionMap, hashCode, regenerateProjectionMap, rewire, toString, unsetProjectionMap |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static final TupleFactory mTupleFactory
Constructor Detail |
---|
public POCounter(OperatorKey k)
public POCounter(OperatorKey k, int rp)
public POCounter(OperatorKey k, List<PhysicalOperator> inputs)
public POCounter(OperatorKey k, int rp, List<PhysicalOperator> inputs)
public POCounter(OperatorKey operatorKey, int requestedParallelism, List inp, List<PhysicalPlan> counterPlans, List<Boolean> ascendingCol)
Method Detail |
---|
public Tuple illustratorMarkup(Object in, Object out, int eqClassIndex)
Illustrable
in
- input tupleout
- output tuple before wrapped in ExampleTupleeqClassIndex
- index into equivalence classes in illustrator
public void visit(PhyPlanVisitor v) throws VisitorException
Operator
visit
in class PhysicalOperator
v
- Visitor to visit with.
VisitorException
- if the visitor has a problem.public Result getNextTuple() throws ExecException
getNextTuple
in class PhysicalOperator
ExecException
protected Result addCounterValue(Result input) throws ExecException
input
- from the previous output
ExecException
public boolean supportsMultipleInputs()
Operator
supportsMultipleInputs
in class Operator<PhyPlanVisitor>
public boolean supportsMultipleOutputs()
Operator
supportsMultipleOutputs
in class Operator<PhyPlanVisitor>
public String name()
name
in class Operator<PhyPlanVisitor>
public void setCounterPlans(List<PhysicalPlan> counterPlans)
public List<PhysicalPlan> getCounterPlans()
public void setAscendingColumns(List<Boolean> mAscCols)
public List<Boolean> getAscendingColumns()
public void resetLocalCounter()
public Long incrementLocalCounter()
public void setLocalCounter(Long localCount)
public Long getLocalCounter()
public void addToLocalCounter(Long sizeBag)
public void setTaskId(String taskID)
public String getTaskId()
public void setIsDenseRank(boolean isDenseRank)
public boolean isDenseRank()
public void setIsRowNumber(boolean isRowNumber)
public boolean isRowNumber()
public void setOperationID(String operationID)
public String getOperationID()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |