Interface Pipeline
- All Superinterfaces:
Serializable
The Pipeline
object is a container of all the stages defined on
a pipeline: the source stages obtained directly from it by calling readFrom(BatchSource)
as well as all the stages attached (directly or
indirectly) to them.
Note that there is no simple one-to-one correspondence between pipeline stages and Core API's DAG vertices. Some stages map to several vertices (e.g., grouping and co-grouping are implemented as a cascade of two vertices) and some stages may be merged with others into a single vertex (e.g., a cascade of map/filter/flatMap stages can be fused into one vertex).
- Since:
- Jet 3.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic Pipeline
create()
Creates a new, empty pipeline.boolean
isEmpty()
Returnstrue
if there are no stages in the pipeline.boolean
Returns the preserve order property of this pipeline<T> BatchStage<T>
readFrom
(BatchSource<? extends T> source) Returns a pipeline stage that represents a bounded (batch) data source.<T> StreamSourceStage<T>
readFrom
(StreamSource<? extends T> source) Returns a pipeline stage that represents an unbounded data source (i.e., an event stream).setPreserveOrder
(boolean value) Tells Jet whether or not it is allowed to reorder the events for better performance.toDag()
Deprecated.since Jet 4.3, Jet performs this transformation on the server-side.Returns a DOT format (graphviz) representation of the Pipeline.<T> SinkStage
writeTo
(Sink<? super T> sink, GeneralStage<? extends T> stage0, GeneralStage<? extends T> stage1, GeneralStage<? extends T>... moreStages) Attaches the supplied sink to two or more pipeline stages.
-
Method Details
-
create
Creates a new, empty pipeline.- Since:
- Jet 3.0
-
isPreserveOrder
boolean isPreserveOrder()Returns the preserve order property of this pipeline- Since:
- Jet 4.4
-
setPreserveOrder
Tells Jet whether or not it is allowed to reorder the events for better performance. Enabling this property adds restrictions to the internal data flows that ensure each pipeline stage observes the events in the same order as they were received from the source.Keep in mind that there is often no total event order to begin with, for example in partitioned sources. In this case there is still partial order per each partition, and that is the order Jet preserves.
If you enable this property, you cannot use the
rebalance
operator without a grouping key, because it explicitly orders Jet to break the event order.The default value is false.
- Returns:
this
, for fluent API- Since:
- Jet 4.4
-
readFrom
Returns a pipeline stage that represents a bounded (batch) data source. It has no upstream stages and emits the data (typically coming from an outside source) to its downstream stages.- Type Parameters:
T
- the type of source data items- Parameters:
source
- the definition of the source from which the stage reads data
-
readFrom
Returns a pipeline stage that represents an unbounded data source (i.e., an event stream). It has no upstream stages and emits the data (typically coming from an outside source) to its downstream stages.- Type Parameters:
T
- the type of source data items- Parameters:
source
- the definition of the source from which the stage reads data
-
writeTo
@Nonnull <T> SinkStage writeTo(@Nonnull Sink<? super T> sink, @Nonnull GeneralStage<? extends T> stage0, @Nonnull GeneralStage<? extends T> stage1, @Nonnull GeneralStage<? extends T>... moreStages) Attaches the supplied sink to two or more pipeline stages. Returns theSinkStage
representing the sink. You need this method when you want to drain more than one stage to the same sink. In the typical case you'll useGeneralStage.writeTo(Sink)
instead.- Type Parameters:
T
- the type of data being drained to the sink
-
toDag
Deprecated.since Jet 4.3, Jet performs this transformation on the server-side.Transforms the pipeline into a Jet DAG, which can be submitted for execution to a Jet instance. -
toDotString
Returns a DOT format (graphviz) representation of the Pipeline. -
isEmpty
boolean isEmpty()Returnstrue
if there are no stages in the pipeline.- Since:
- Jet 4.4
-