Class SingleMergeExchange
java.lang.Object
org.apache.drill.exec.physical.base.AbstractBase
org.apache.drill.exec.physical.base.AbstractSingle
org.apache.drill.exec.physical.base.AbstractExchange
org.apache.drill.exec.physical.config.SingleMergeExchange
- All Implemented Interfaces:
Iterable<PhysicalOperator>
,GraphValue<PhysicalOperator>
,Exchange
,PhysicalOperator
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.drill.exec.physical.base.Exchange
Exchange.ParallelizationDependency
-
Field Summary
Fields inherited from class org.apache.drill.exec.physical.base.AbstractExchange
receiverLocations, receiverMajorFragmentId, senderLocations, senderMajorFragmentId
Fields inherited from class org.apache.drill.exec.physical.base.AbstractSingle
child
Fields inherited from class org.apache.drill.exec.physical.base.AbstractBase
INIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation, userName
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected PhysicalOperator
getNewWithChild
(PhysicalOperator child) getReceiver
(int minorFragmentId) Get the Receiver associated with the given minorFragmentId.getReceiverParallelizationInfo
(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints) Default receiver parallelization width range is [1, Integer.MAX_VALUE] and affinity to nodes where sender fragments are running.getSender
(int minorFragmentId, PhysicalOperator child) Get the Sender associated with the given minorFragmentId.protected void
setupReceivers
(List<CoordinationProtos.DrillbitEndpoint> receiverLocations) Methods inherited from class org.apache.drill.exec.physical.base.AbstractExchange
accept, getDefaultAffinityMap, getOperatorType, getParallelizationDependency, getReceiverMemory, getSenderMemory, getSenderParallelizationInfo, isExecutable, setupReceivers, setupSenders, setupSenders
Methods inherited from class org.apache.drill.exec.physical.base.AbstractSingle
getChild, getNewWithChildren, iterator
Methods inherited from class org.apache.drill.exec.physical.base.AbstractBase
accept, getCost, getInitialAllocation, getMaxAllocation, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.drill.common.graph.GraphValue
accept
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
Methods inherited from interface org.apache.drill.exec.physical.base.PhysicalOperator
getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorId
-
Constructor Details
-
SingleMergeExchange
-
-
Method Details
-
getReceiverParallelizationInfo
public ParallelizationInfo getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints) Description copied from class:AbstractExchange
Default receiver parallelization width range is [1, Integer.MAX_VALUE] and affinity to nodes where sender fragments are running.- Specified by:
getReceiverParallelizationInfo
in interfaceExchange
- Overrides:
getReceiverParallelizationInfo
in classAbstractExchange
- Parameters:
senderFragmentEndpoints
- Endpoints assigned to receiver fragment if available, otherwise an empty list.- Returns:
- Receiver
ParallelizationInfo
.
-
setupReceivers
protected void setupReceivers(List<CoordinationProtos.DrillbitEndpoint> receiverLocations) throws PhysicalOperatorSetupException - Overrides:
setupReceivers
in classAbstractExchange
- Throws:
PhysicalOperatorSetupException
-
getSender
Description copied from interface:Exchange
Get the Sender associated with the given minorFragmentId. Cannot be called until after setupSenders() and setupReceivers() have been called.- Parameters:
minorFragmentId
- The minor fragment id, must be in the range [0, fragment.width).child
- The feeding node for the requested sender.- Returns:
- The materialized sender for the given arguments.
-
getReceiver
Description copied from interface:Exchange
Get the Receiver associated with the given minorFragmentId. Cannot be called until after setupSenders() and setupReceivers() have been called.- Parameters:
minorFragmentId
- The minor fragment id, must be in the range [0, fragment.width).- Returns:
- The materialized recevier for the given arguments.
-
getNewWithChild
- Specified by:
getNewWithChild
in classAbstractSingle
-
getOrderings
-