Package org.apache.wayang.core.optimizer
Class DefaultOptimizationContext
- java.lang.Object
-
- org.apache.wayang.core.optimizer.OptimizationContext
-
- org.apache.wayang.core.optimizer.DefaultOptimizationContext
-
public class DefaultOptimizationContext extends OptimizationContext
This implementation ofOptimizationContextrepresents a direct mapping fromOptimizationContext.OperatorContextto executions of the respectiveOperators.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wayang.core.optimizer.OptimizationContext
OptimizationContext.LoopContext, OptimizationContext.OperatorContext
-
-
Field Summary
-
Fields inherited from class org.apache.wayang.core.optimizer.OptimizationContext
hostLoopContext, job, logger
-
-
Constructor Summary
Constructors Constructor Description DefaultOptimizationContext(Job job)Create a new instance.DefaultOptimizationContext(Job job, Operator operator)Creates a new instance.DefaultOptimizationContext(OptimizationContext base)Forks anDefaultOptimizationContextby providing a write-layer on top of thebase.
-
Method Summary
-
Methods inherited from class org.apache.wayang.core.optimizer.OptimizationContext
addOneTimeOperators, getChannelConversionGraph, getConfiguration, getIterationNumber, getJob, getLoopContext, getNextIterationContext, getParent, getPruningStrategies, getRootParent, isFinalIteration, isInitialIteration, putIntoJobCache, queryJobCache, queryJobCache
-
-
-
-
Constructor Detail
-
DefaultOptimizationContext
public DefaultOptimizationContext(Job job)
Create a new instance.- Parameters:
job- the optimization task; loops should already be isolated
-
DefaultOptimizationContext
public DefaultOptimizationContext(OptimizationContext base)
Forks anDefaultOptimizationContextby providing a write-layer on top of thebase.
-
-
Method Detail
-
createFrom
public static DefaultOptimizationContext createFrom(Job job)
Create a new instance and adds allOperators in theWayangPlan.- Parameters:
job- the optimization task; loops should already be isolated
-
addOneTimeOperator
public OptimizationContext.OperatorContext addOneTimeOperator(Operator operator)
Description copied from class:OptimizationContextAddOptimizationContext.OperatorContexts for theoperatorthat is executed once within this instance. Also add its encasedOperators. Potentially invokeOptimizationContext.addOneTimeLoop(OperatorContext)as well.- Specified by:
addOneTimeOperatorin classOptimizationContext
-
addOneTimeLoop
public void addOneTimeLoop(OptimizationContext.OperatorContext operatorContext)
AddDefaultOptimizationContexts for theloopthat is executed once within this instance.- Specified by:
addOneTimeLoopin classOptimizationContext
-
getOperatorContext
public OptimizationContext.OperatorContext getOperatorContext(Operator operator)
Return theOptimizationContext.OperatorContextof theoperator.- Specified by:
getOperatorContextin classOptimizationContext- Parameters:
operator- a one-timeOperator(i.e., not in a nested loop)- Returns:
- the
OptimizationContext.OperatorContextfor theOperatorornullif none
-
getNestedLoopContext
public OptimizationContext.LoopContext getNestedLoopContext(LoopSubplan loopSubplan)
Retrieve theOptimizationContext.LoopContextfor theloopSubplan.- Specified by:
getNestedLoopContextin classOptimizationContext
-
clearMarks
public void clearMarks()
CallsOptimizationContext.OperatorContext.clearMarks()for all nestedOptimizationContext.OperatorContexts.- Specified by:
clearMarksin classOptimizationContext
-
getLocalOperatorContexts
public java.util.Map<Operator,OptimizationContext.OperatorContext> getLocalOperatorContexts()
- Specified by:
getLocalOperatorContextsin classOptimizationContext- Returns:
- the
OptimizationContext.OperatorContexts of this instance (exclusive of any base instance)
-
isTimeEstimatesComplete
public boolean isTimeEstimatesComplete()
- Specified by:
isTimeEstimatesCompletein classOptimizationContext- Returns:
- whether there is a
TimeEstimatefor eachExecutionOperator
-
getBase
public DefaultOptimizationContext getBase()
- Overrides:
getBasein classOptimizationContext
-
mergeToBase
public void mergeToBase()
- Specified by:
mergeToBasein classOptimizationContext
-
getDefaultOptimizationContexts
public java.util.List<DefaultOptimizationContext> getDefaultOptimizationContexts()
Description copied from class:OptimizationContextGet theDefaultOptimizationContexts represented by this instance.- Specified by:
getDefaultOptimizationContextsin classOptimizationContext- Returns:
- a
Collectionof saidDefaultOptimizationContexts
-
copy
public DefaultOptimizationContext copy()
Create a shallow copy of this instance.- Returns:
- the shallow copy
-
-