public interface QueryParallelizer extends ParallelizationParameters
a) Default Parallelizer: It optimistically assumes that the whole cluster is running only the current query and based on heuristics assigns the optimal memory to the buffered operators.
b) Queue Parallelizer: This parallelizer computes the memory that can be allocated at best based on the current cluster state(as to how much memory is available) and also the configuration of the queue that it can run on.
Modifier and Type | Method and Description |
---|---|
QueryWorkUnit |
generateWorkUnit(OptionList options,
CoordinationProtos.DrillbitEndpoint foremanNode,
UserBitShared.QueryId queryId,
Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints,
Fragment rootFragment,
UserSession session,
BitControl.QueryContextInformation queryContextInfo)
This is the only function exposed to the consumer of this parallelizer (currently Foreman) to parallelize
the plan.
|
getAffinityFactor, getMaxGlobalWidth, getMaxWidthPerNode, getSliceTarget
QueryWorkUnit generateWorkUnit(OptionList options, CoordinationProtos.DrillbitEndpoint foremanNode, UserBitShared.QueryId queryId, Collection<CoordinationProtos.DrillbitEndpoint> activeEndpoints, Fragment rootFragment, UserSession session, BitControl.QueryContextInformation queryContextInfo) throws ExecutionSetupException
options
- List of all options that are set for the current session.foremanNode
- Endpoint information of the foreman node.queryId
- Unique ID of the query.activeEndpoints
- Currently active endpoints on which the plan can run.rootFragment
- root of the fragment tree of the transformed physical plansession
- user session object.queryContextInfo
- query context.ExecutionSetupException
Copyright © 1970 The Apache Software Foundation. All rights reserved.