public class MRCompiler extends PhyPlanVisitor
| Modifier and Type | Field and Description |
|---|---|
static String |
FILE_CONCATENATION_THRESHOLD |
static String |
OPTIMISTIC_FILE_CONCATENATION |
static String |
USER_COMPARATOR_MARKER |
mCurrentWalker, mPlan| Constructor and Description |
|---|
MRCompiler(PhysicalPlan plan) |
MRCompiler(PhysicalPlan plan,
PigContext pigContext) |
| Modifier and Type | Method and Description |
|---|---|
void |
aggregateScalarsFiles() |
MROperPlan |
compile()
The front-end method that the user calls to compile
the plan.
|
void |
connectSoftLink() |
CompilationMessageCollector |
getMessageCollector() |
MROperPlan |
getMRPlan()
Used to get the compiled plan
|
PhysicalPlan |
getPlan()
Used to get the plan that was compiled
|
void |
visitCollectedGroup(POCollectedGroup op) |
void |
visitCounter(POCounter op)
For the counter job, it depends if it is row number or not.
|
void |
visitCross(POCross op) |
void |
visitDistinct(PODistinct op) |
void |
visitFilter(POFilter op) |
void |
visitFRJoin(POFRJoin op)
This is an operator which will have multiple inputs(= to number of join inputs)
But it prunes off all inputs but the fragment input and creates separate MR jobs
for each of the replicated inputs and uses these as the replicated files that
are configured in the POFRJoin operator.
|
void |
visitGlobalRearrange(POGlobalRearrange op) |
void |
visitLimit(POLimit op) |
void |
visitLoad(POLoad op) |
void |
visitLocalRearrange(POLocalRearrange op) |
void |
visitMergeCoGroup(POMergeCogroup poCoGrp)
Leftmost relation is referred as base relation (this is the one fed into mappers.)
First, close all MROpers except for first one (referred as baseMROPer)
Then, create a MROper which will do indexing job (idxMROper)
Connect idxMROper before the mappedMROper in the MRPlan.
|
void |
visitMergeJoin(POMergeJoin joinOp)
Since merge-join works on two inputs there are exactly two MROper predecessors identified as left and right.
|
void |
visitNative(PONative op) |
void |
visitPackage(POPackage op) |
void |
visitPOForEach(POForEach op) |
void |
visitRank(PORank op)
In case of PORank, it is closed any other previous job (containing
POCounter as a leaf) and PORank is added on map phase.
|
void |
visitSkewedJoin(POSkewedJoin op) |
void |
visitSort(POSort op) |
void |
visitSplit(POSplit op)
Compiles a split operator.
|
void |
visitStore(POStore op) |
void |
visitStream(POStream op) |
void |
visitUnion(POUnion op) |
visit, visitAdd, visitAnd, visitBinCond, visitCast, visitComparisonFunc, visitConstant, visitDemux, visitDivide, visitEqualTo, visitGreaterThan, visitGTOrEqual, visitIsNull, visitLessThan, visitLTOrEqual, visitMapLookUp, visitMod, visitMultiply, visitNegative, visitNot, visitNotEqualTo, visitOr, visitPartialAgg, visitPartitionRearrange, visitPoissonSample, visitPOOptimizedForEach, visitPreCombinerLocalRearrange, visitProject, visitRegexp, visitReservoirSample, visitSubtract, visitUserFuncpopWalker, pushWalker, visitpublic static final String USER_COMPARATOR_MARKER
public static final String FILE_CONCATENATION_THRESHOLD
public static final String OPTIMISTIC_FILE_CONCATENATION
public MRCompiler(PhysicalPlan plan) throws MRCompilerException
MRCompilerExceptionpublic MRCompiler(PhysicalPlan plan, PigContext pigContext) throws MRCompilerException
MRCompilerExceptionpublic void aggregateScalarsFiles()
throws PlanException,
IOException
PlanExceptionIOExceptionpublic MROperPlan getMRPlan()
public PhysicalPlan getPlan()
getPlan in class PlanVisitor<PhysicalOperator,PhysicalPlan>public CompilationMessageCollector getMessageCollector()
public MROperPlan compile() throws IOException, PlanException, VisitorException
IOExceptionPlanExceptionVisitorExceptionpublic void connectSoftLink()
throws PlanException,
IOException
PlanExceptionIOExceptionpublic void visitSplit(POSplit op) throws VisitorException
visitSplit in class PhyPlanVisitorop - - The split operatorVisitorExceptionpublic void visitLoad(POLoad op) throws VisitorException
visitLoad in class PhyPlanVisitorVisitorExceptionpublic void visitNative(PONative op) throws VisitorException
visitNative in class PhyPlanVisitorVisitorExceptionpublic void visitStore(POStore op) throws VisitorException
visitStore in class PhyPlanVisitorVisitorExceptionpublic void visitFilter(POFilter op) throws VisitorException
visitFilter in class PhyPlanVisitorVisitorExceptionpublic void visitCross(POCross op) throws VisitorException
visitCross in class PhyPlanVisitorVisitorExceptionpublic void visitStream(POStream op) throws VisitorException
visitStream in class PhyPlanVisitorVisitorExceptionpublic void visitLimit(POLimit op) throws VisitorException
visitLimit in class PhyPlanVisitorVisitorExceptionpublic void visitLocalRearrange(POLocalRearrange op) throws VisitorException
visitLocalRearrange in class PhyPlanVisitorVisitorExceptionpublic void visitCollectedGroup(POCollectedGroup op) throws VisitorException
visitCollectedGroup in class PhyPlanVisitorVisitorExceptionpublic void visitPOForEach(POForEach op) throws VisitorException
visitPOForEach in class PhyPlanVisitorVisitorExceptionpublic void visitGlobalRearrange(POGlobalRearrange op) throws VisitorException
visitGlobalRearrange in class PhyPlanVisitorVisitorExceptionpublic void visitPackage(POPackage op) throws VisitorException
visitPackage in class PhyPlanVisitorVisitorExceptionpublic void visitUnion(POUnion op) throws VisitorException
visitUnion in class PhyPlanVisitorVisitorExceptionpublic void visitFRJoin(POFRJoin op) throws VisitorException
visitFRJoin in class PhyPlanVisitorVisitorExceptionpublic void visitMergeCoGroup(POMergeCogroup poCoGrp) throws VisitorException
visitMergeCoGroup in class PhyPlanVisitorVisitorExceptionpublic void visitMergeJoin(POMergeJoin joinOp) throws VisitorException
visitMergeJoin in class PhyPlanVisitorVisitorExceptionpublic void visitDistinct(PODistinct op) throws VisitorException
visitDistinct in class PhyPlanVisitorVisitorExceptionpublic void visitSkewedJoin(POSkewedJoin op) throws VisitorException
visitSkewedJoin in class PhyPlanVisitorVisitorExceptionpublic void visitSort(POSort op) throws VisitorException
visitSort in class PhyPlanVisitorVisitorExceptionpublic void visitCounter(POCounter op) throws VisitorException
visitCounter in class PhyPlanVisitorVisitorExceptionpublic void visitRank(PORank op) throws VisitorException
visitRank in class PhyPlanVisitorVisitorExceptionCopyright © 2007-2012 The Apache Software Foundation