public abstract class AbstractDeMuxExchange extends AbstractExchange
Exchange.ParallelizationDependency| Modifier and Type | Field and Description |
|---|---|
protected LogicalExpression |
expr |
protected Map<Integer,MinorFragmentEndpoint> |
receiverToSenderMapping |
protected org.apache.drill.shaded.guava.com.google.common.collect.ArrayListMultimap<Integer,MinorFragmentEndpoint> |
senderToReceiversMapping |
receiverLocations, receiverMajorFragmentId, senderLocations, senderMajorFragmentIdchildINIT_ALLOCATION, initialAllocation, MAX_ALLOCATION, maxAllocation| Constructor and Description |
|---|
AbstractDeMuxExchange(PhysicalOperator child,
LogicalExpression expr) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
createSenderReceiverMapping() |
LogicalExpression |
getExpression() |
Exchange.ParallelizationDependency |
getParallelizationDependency()
In DeMuxExchange, sender fragment parallelization and endpoint assignment depends on receiver fragment endpoint
assignments.
|
ParallelizationInfo |
getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
Default receiver parallelization width range is [1, Integer.MAX_VALUE] and affinity to nodes where sender
fragments are running.
|
Sender |
getSender(int minorFragmentId,
PhysicalOperator child)
Get the Sender associated with the given minorFragmentId.
|
ParallelizationInfo |
getSenderParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> receiverFragmentEndpoints)
Default sender parallelization width range is [1, Integer.MAX_VALUE] and no endpoint affinity
|
accept, getDefaultAffinityMap, getOperatorType, getReceiverMemory, getSenderMemory, isExecutable, setupReceivers, setupReceivers, setupSenders, setupSendersgetChild, getNewWithChild, getNewWithChildren, iteratoraccept, getCost, getInitialAllocation, getMaxAllocation, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorIdclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetChild, getReceivergetCost, getInitialAllocation, getMaxAllocation, getNewWithChildren, getOperatorId, getSVMode, getUserName, isBufferedOperator, setCost, setMaxAllocation, setOperatorIdacceptforEach, iterator, spliteratorprotected final LogicalExpression expr
protected Map<Integer,MinorFragmentEndpoint> receiverToSenderMapping
protected org.apache.drill.shaded.guava.com.google.common.collect.ArrayListMultimap<Integer,MinorFragmentEndpoint> senderToReceiversMapping
public AbstractDeMuxExchange(PhysicalOperator child, LogicalExpression expr)
public LogicalExpression getExpression()
public ParallelizationInfo getSenderParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> receiverFragmentEndpoints)
AbstractExchangegetSenderParallelizationInfo in interface ExchangegetSenderParallelizationInfo in class AbstractExchangereceiverFragmentEndpoints - Endpoints assigned to receiver fragment if available, otherwise an empty list.ParallelizationInfo.public ParallelizationInfo getReceiverParallelizationInfo(List<CoordinationProtos.DrillbitEndpoint> senderFragmentEndpoints)
AbstractExchangegetReceiverParallelizationInfo in interface ExchangegetReceiverParallelizationInfo in class AbstractExchangesenderFragmentEndpoints - Endpoints assigned to receiver fragment if available, otherwise an empty list.ParallelizationInfo.public Sender getSender(int minorFragmentId, PhysicalOperator child)
ExchangeminorFragmentId - The minor fragment id, must be in the range [0, fragment.width).child - The feeding node for the requested sender.public Exchange.ParallelizationDependency getParallelizationDependency()
getParallelizationDependency in interface ExchangegetParallelizationDependency in class AbstractExchangeprotected void createSenderReceiverMapping()
Copyright © 2021 The Apache Software Foundation. All rights reserved.