OM
- type of the messages in the resultant MessageStream
public interface StreamExpander<OM>
extends java.io.Serializable
InputDescriptor
to a sub-DAG of one or more operators on the
StreamApplicationDescriptor
, and returns a new MessageStream
with the combined results.
Called when StreamApplicationDescriptor.getInputStream(org.apache.samza.system.descriptors.InputDescriptor<M, ?>)
is being used to get a MessageStream
using an
InputDescriptor
from an expanding system descriptor.
This is provided by default by expanding system descriptor implementations and can not be overridden or set on a per stream level.
Modifier and Type | Method and Description |
---|---|
MessageStream<OM> |
apply(StreamApplicationDescriptor streamAppDesc,
InputDescriptor inputDescriptor)
Expands the provided
InputDescriptor to a sub-DAG of one or more operators on the StreamApplicationDescriptor ,
and returns a new MessageStream with the combined results. |
MessageStream<OM> apply(StreamApplicationDescriptor streamAppDesc, InputDescriptor inputDescriptor)
InputDescriptor
to a sub-DAG of one or more operators on the StreamApplicationDescriptor
,
and returns a new MessageStream
with the combined results. Called when the InputDescriptor
is being used to get an MessageStream
using StreamApplicationDescriptor.getInputStream(org.apache.samza.system.descriptors.InputDescriptor<M, ?>)
.
Notes for system implementers:
Take care to avoid infinite recursion in the implementation; e.g., by ensuring that it doesn't call
StreamApplicationDescriptor.getInputStream(org.apache.samza.system.descriptors.InputDescriptor<M, ?>)
with an InputDescriptor
from an expanding system descriptor
(like this one) again.
It's the StreamExpander
's responsibility to propagate any properties, including serde, from the
user-provided InputDescriptor
to the expanded input descriptors.
streamAppDesc
- the StreamApplicationDescriptor
to register the expanded sub-DAG of operators oninputDescriptor
- the InputDescriptor
to be expandedMessageStream
containing the combined results of the sub-DAG of operators