public abstract class SimpleParallelizer extends Object implements QueryParallelizer
| Modifier and Type | Class and Description |
|---|---|
protected static class |
SimpleParallelizer.CountRequiredFragments
Designed to setup initial values for arriving fragment accounting.
|
| Modifier | Constructor and Description |
|---|---|
protected |
SimpleParallelizer(long parallelizationThreshold,
int maxWidthPerNode,
int maxGlobalWidth,
double affinityFactor) |
protected |
SimpleParallelizer(QueryContext context) |
protected SimpleParallelizer(QueryContext context)
protected SimpleParallelizer(long parallelizationThreshold,
int maxWidthPerNode,
int maxGlobalWidth,
double affinityFactor)
public long getSliceTarget()
getSliceTarget in interface ParallelizationParameterspublic int getMaxWidthPerNode()
getMaxWidthPerNode in interface ParallelizationParameterspublic int getMaxGlobalWidth()
getMaxGlobalWidth in interface ParallelizationParameterspublic double getAffinityFactor()
getAffinityFactor in interface ParallelizationParameterspublic Set<Wrapper> getRootFragments(PlanningSet planningSet)
public PlanningSet prepareFragmentTree(Fragment rootFragment)
public void collectStatsAndParallelizeFragments(PlanningSet planningSet, Set<Wrapper> roots, Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints) throws PhysicalOperatorSetupException
planningSet - Set of all major fragments and their context.roots - Root nodes of the plan.activeEndpoints - currently active drillbit endpoints.PhysicalOperatorSetupExceptionpublic abstract void adjustMemory(PlanningSet planningSet, Set<Wrapper> roots, Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints) throws PhysicalOperatorSetupException
PhysicalOperatorSetupExceptionpublic final QueryWorkUnit generateWorkUnit(OptionList options, CoordinationProtos.DrillbitEndpoint foremanNode, UserBitShared.QueryId queryId, Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints, Fragment rootFragment, UserSession session, BitControl.QueryContextInformation queryContextInfo) throws ExecutionSetupException
generateWorkUnit in interface QueryParallelizeroptions - List of options set by the user.foremanNode - foreman node for this query plan.queryId - Query ID.activeEndpoints - currently active endpoints on which this plan will run.rootFragment - Root major fragment.session - session context.queryContextInfo - query context.ExecutionSetupExceptionpublic List<QueryWorkUnit> getSplitFragments(OptionList options, CoordinationProtos.DrillbitEndpoint foremanNode, UserBitShared.QueryId queryId, Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints, PhysicalPlanReader reader, Fragment rootFragment, UserSession session, BitControl.QueryContextInformation queryContextInfo) throws ExecutionSetupException
options - foremanNode - queryId - activeEndpoints - reader - rootFragment - session - queryContextInfo - QueryWorkUnits.ExecutionSetupExceptionpublic void initFragmentWrappers(Fragment rootFragment, PlanningSet planningSet)
protected void traverse(Wrapper fragmentWrapper, Consumer<Wrapper> operation) throws PhysicalOperatorSetupException
PhysicalOperatorSetupExceptionprotected abstract BiFunction<CoordinationProtos.DrillbitEndpoint,PhysicalOperator,Long> getMemory()
protected QueryWorkUnit generateWorkUnit(OptionList options, CoordinationProtos.DrillbitEndpoint foremanNode, UserBitShared.QueryId queryId, Fragment rootNode, PlanningSet planningSet, UserSession session, BitControl.QueryContextInformation queryContextInfo) throws ExecutionSetupException
ExecutionSetupExceptionCopyright © 2022 The Apache Software Foundation. All rights reserved.