public class MToOneTree extends java.lang.Object implements DataFlowOperation, ChannelReceiver
| Modifier and Type | Field and Description |
|---|---|
protected int |
destination
The target tast
|
protected java.util.Set<java.lang.Integer> |
sources
the source tasks
|
| Constructor and Description |
|---|
MToOneTree(TWSChannel channel,
java.util.Set<java.lang.Integer> sources,
int destination,
MessageReceiver finalRcvr,
MessageReceiver partialRcvr,
int indx,
int p,
boolean keyed,
MessageType kType,
MessageType dType,
MessageSchema messageSchema) |
MToOneTree(TWSChannel channel,
java.util.Set<java.lang.Integer> sources,
int destination,
MessageReceiver finalRcvr,
MessageReceiver partialRcvr,
int indx,
int p,
MessageSchema messageSchema) |
MToOneTree(TWSChannel channel,
java.util.Set<java.lang.Integer> sources,
int destination,
MessageReceiver finalRcvr,
MessageReceiver partialRcvr,
MessageSchema messageSchema) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the operation
|
void |
finish(int source)
If this is a larger transfer of dataflow style, we need to finish
|
MessageType |
getDataType()
returns the data type that is associated with the data flow operation
|
MessageType |
getKeyType()
returns the key type that is associated with the data flow operation
|
LogicalPlan |
getLogicalPlan()
Task plan associated with this operation
|
java.util.Set<java.lang.Integer> |
getSources()
Get the sources of the operation
|
java.util.Set<java.lang.Integer> |
getTargets()
Get targets of operation
|
java.lang.String |
getUniqueId()
Returns a unique id for this operation.
|
void |
init(Config cfg,
MessageType t,
LogicalPlan logicalPlan,
int edge)
Initialize
|
void |
init(Config cfg,
MessageType dType,
MessageType rcvDType,
MessageType kType,
MessageType rcvKType,
LogicalPlan logicalPlan,
int edge)
Initialize
|
boolean |
isComplete()
Weather the operation doesn't have any pending sends or receives
|
boolean |
isDelegateComplete() |
boolean |
progress()
Progress the pending dataflow operations
|
java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> |
receiveExpectedTaskIds() |
boolean |
receiveMessage(MessageHeader header,
java.lang.Object object)
We can receive messages from internal tasks or an external task, we allways receive messages
to the main task of the workerId and we go from there
|
boolean |
receiveSendInternally(int source,
int target,
int path,
int flags,
java.lang.Object message)
For partial receives the path and
|
protected java.util.Set<java.lang.Integer> |
receivingExecutors() |
void |
reset()
Reset and get the operation to initial state
|
boolean |
send(int source,
java.lang.Object message,
int flags)
Send a send message, this call will work asynchronously
|
boolean |
send(int source,
java.lang.Object message,
int flags,
int target)
Send the message on a specific path
|
boolean |
sendPartial(int source,
java.lang.Object message,
int flags)
Use this to inject partial results in a distributed dataflow operation
|
boolean |
sendPartial(int source,
java.lang.Object message,
int flags,
int target)
Send partial message on a specific path
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetReceiveDataType, getReceiveKeyTypehandleReceivedChannelMessage, sendCompletedprotected java.util.Set<java.lang.Integer> sources
protected int destination
public MToOneTree(TWSChannel channel, java.util.Set<java.lang.Integer> sources, int destination, MessageReceiver finalRcvr, MessageReceiver partialRcvr, int indx, int p, MessageSchema messageSchema)
public MToOneTree(TWSChannel channel, java.util.Set<java.lang.Integer> sources, int destination, MessageReceiver finalRcvr, MessageReceiver partialRcvr, int indx, int p, boolean keyed, MessageType kType, MessageType dType, MessageSchema messageSchema)
public MToOneTree(TWSChannel channel, java.util.Set<java.lang.Integer> sources, int destination, MessageReceiver finalRcvr, MessageReceiver partialRcvr, MessageSchema messageSchema)
public boolean receiveMessage(MessageHeader header, java.lang.Object object)
receiveMessage in interface ChannelReceiverheader - the headerobject - the built messagepublic boolean receiveSendInternally(int source,
int target,
int path,
int flags,
java.lang.Object message)
ChannelReceiverreceiveSendInternally in interface ChannelReceiversource - the sourcetarget - target to be sentpath - the path to be usedflags - flagsmessage - messagepublic boolean send(int source,
java.lang.Object message,
int flags)
DataFlowOperationsend in interface DataFlowOperationsource - source taskmessage - message as a generic objectpublic boolean send(int source,
java.lang.Object message,
int flags,
int target)
DataFlowOperationsend in interface DataFlowOperationsource - source taskmessage - a generic java objecttarget - target taskpublic boolean sendPartial(int source,
java.lang.Object message,
int flags,
int target)
DataFlowOperationsendPartial in interface DataFlowOperationsource - the sourcemessage - message as a generic objecttarget - the final targetpublic void init(Config cfg, MessageType dType, MessageType rcvDType, MessageType kType, MessageType rcvKType, LogicalPlan logicalPlan, int edge)
public void init(Config cfg, MessageType t, LogicalPlan logicalPlan, int edge)
public boolean sendPartial(int source,
java.lang.Object message,
int flags)
DataFlowOperationsendPartial in interface DataFlowOperationmessage - messageprotected java.util.Set<java.lang.Integer> receivingExecutors()
public java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> receiveExpectedTaskIds()
public boolean isDelegateComplete()
isDelegateComplete in interface DataFlowOperationpublic boolean isComplete()
DataFlowOperationisComplete in interface DataFlowOperationpublic boolean progress()
DataFlowOperationprogress in interface DataFlowOperationpublic void close()
DataFlowOperationclose in interface DataFlowOperationpublic void reset()
DataFlowOperationreset in interface DataFlowOperationpublic void finish(int source)
DataFlowOperationfinish in interface DataFlowOperationpublic MessageType getKeyType()
DataFlowOperationgetKeyType in interface DataFlowOperationpublic MessageType getDataType()
DataFlowOperationgetDataType in interface DataFlowOperationpublic LogicalPlan getLogicalPlan()
DataFlowOperationgetLogicalPlan in interface DataFlowOperationpublic java.lang.String getUniqueId()
DataFlowOperationgetUniqueId in interface DataFlowOperationpublic java.util.Set<java.lang.Integer> getSources()
DataFlowOperationgetSources in interface DataFlowOperationpublic java.util.Set<java.lang.Integer> getTargets()
DataFlowOperationgetTargets in interface DataFlowOperation