Interface Store
- All Superinterfaces:
GraphValue<PhysicalOperator>
,HasAffinity
,Iterable<PhysicalOperator>
,PhysicalOperator
- All Known Implementing Classes:
AbstractStore
,MockStorePOP
,Screen
An interface which supports storing a record stream. In contrast to the logical layer, in the physical/execution
layers, a Store node is actually an outputting node (rather than a root node) that provides returns one or more
records regarding the completion of the query.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
applyAssignments
(List<CoordinationProtos.DrillbitEndpoint> endpoints) Inform the Store node about the actual decided DrillbitEndpoint assignments desired for storage purposes.getChild()
Get the child of this store operator as this will be needed for parallelization materialization purposes.int
The maximum allowable width for the Store operation.getSpecificStore
(PhysicalOperator child, int minorFragmentId) Provides full materialized Store operators for execution purposes.Methods inherited from interface org.apache.drill.common.graph.GraphValue
accept
Methods inherited from interface org.apache.drill.exec.physical.base.HasAffinity
getDistributionAffinity, getOperatorAffinity
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface org.apache.drill.exec.physical.base.PhysicalOperator
accept, getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
-
Method Details
-
applyAssignments
void applyAssignments(List<CoordinationProtos.DrillbitEndpoint> endpoints) throws PhysicalOperatorSetupException Inform the Store node about the actual decided DrillbitEndpoint assignments desired for storage purposes. This is a precursor to the execution planner running a set of getSpecificStore() method calls for full Store node materialization.- Parameters:
endpoints
- The list of endpoints that this Store node are going to be executed on.- Throws:
PhysicalOperatorSetupException
-
getSpecificStore
Store getSpecificStore(PhysicalOperator child, int minorFragmentId) throws PhysicalOperatorSetupException Provides full materialized Store operators for execution purposes.- Parameters:
child
- The child operator that this operator will consume from.minorFragmentId
- The particular minor fragment id associated with this particular fragment materialization.- Returns:
- A materialized Store Operator.
- Throws:
PhysicalOperatorSetupException
-
getMaxWidth
int getMaxWidth()The maximum allowable width for the Store operation. In some cases, a store operation has a limited number of parallelizations that it can support. For example, a Screen return cannot be parallelized at all. In this case, a maxWidth value of 1 will be returned. In the case that there is no limit for parallelization, this method should return Integer.MAX_VALUE.- Returns:
- The maximum allowable width for the Store operation.
-
getChild
PhysicalOperator getChild()Get the child of this store operator as this will be needed for parallelization materialization purposes.- Returns:
- The child of this store operator.
-