public interface Exchange extends PhysicalOperator
Modifier and Type | Interface and Description |
---|---|
static class |
Exchange.ParallelizationDependency
Exchanges are fragment boundaries in physical operator tree.
|
Modifier and Type | Method and Description |
---|---|
PhysicalOperator |
getChild()
Return the feeding child of this operator node.
|
Exchange.ParallelizationDependency |
getParallelizationDependency()
Get the parallelization dependency of the Exchange.
|
Receiver |
getReceiver(int minorFragmentId)
Get the Receiver associated with the given minorFragmentId.
|
long |
getReceiverMemory(int receiverCount,
int senderCount)
Returns the memory requirement for the receiver side of the exchange operator.
|
ParallelizationInfo |
getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
Provide parallelization parameters for receiver side of the exchange.
|
Sender |
getSender(int minorFragmentId,
PhysicalOperator child)
Get the Sender associated with the given minorFragmentId.
|
long |
getSenderMemory(int receiverCount,
int senderCount)
Returns the memory requirement for the sender side of the exchange operator.
|
ParallelizationInfo |
getSenderParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> receiverFragmentEndpoints)
Provide parallelization parameters for sender side of the exchange.
|
void |
setupReceivers(int majorFragmentId,
List<CoordinationProtos.DrillbitEndpoint> receiverLocations)
Inform this Exchange node about its receiver locations.
|
void |
setupSenders(int majorFragmentId,
List<CoordinationProtos.DrillbitEndpoint> senderLocations)
Inform this Exchange node about its sender locations.
|
accept, getCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getOperatorType, getSVMode, getUserName, isBufferedOperator, isExecutable, setCost, setMaxAllocation, setOperatorId
accept
forEach, iterator, spliterator
void setupSenders(int majorFragmentId, List<CoordinationProtos.DrillbitEndpoint> senderLocations) throws PhysicalOperatorSetupException
senderLocations
- PhysicalOperatorSetupException
void setupReceivers(int majorFragmentId, List<CoordinationProtos.DrillbitEndpoint> receiverLocations) throws PhysicalOperatorSetupException
receiverLocations
- PhysicalOperatorSetupException
Sender getSender(int minorFragmentId, PhysicalOperator child) throws PhysicalOperatorSetupException
minorFragmentId
- The minor fragment id, must be in the range [0, fragment.width).child
- The feeding node for the requested sender.PhysicalOperatorSetupException
Receiver getReceiver(int minorFragmentId)
minorFragmentId
- The minor fragment id, must be in the range [0, fragment.width).long getSenderMemory(int receiverCount, int senderCount)
receiverCount
- number of receivers at the receiving end of this exchange operator.senderCount
- number of senders sending the rows for this exchange operator.long getReceiverMemory(int receiverCount, int senderCount)
receiverCount
- number of receivers receiving the rows sent by the sender side of this
exchange operator.senderCount
- number of senders sending the rows.ParallelizationInfo getSenderParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> receiverFragmentEndpoints)
receiverFragmentEndpoints
- Endpoints assigned to receiver fragment if available, otherwise an empty list.ParallelizationInfo
.ParallelizationInfo getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
senderFragmentEndpoints
- Endpoints assigned to receiver fragment if available, otherwise an empty listParallelizationInfo
.PhysicalOperator getChild()
Exchange.ParallelizationDependency getParallelizationDependency()
Copyright © 1970 The Apache Software Foundation. All rights reserved.