Dear All,
As stated here
(https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/savepoints.html
<https://ci.apache.org/projects/flink/flink-docs-stable/ops/state/savepoints.html>),
it is highly recommended to assign IDs to Operators, especially for the
stateful ones.
My question is: what is the gradually of a so-called Operator.
To be more specific, in the following example, we have the Operators like,
addSource and map. I am wondering is shuffle and print also a some kind of
Operator?
DataStream<String> stream = env.
// Stateful source (e.g. Kafka) with ID
.addSource(new StatefulSource())
.uid("source-id") // ID for the source operator
.shuffle()
// Stateful mapper with ID
.map(new StatefulMapper())
.uid("mapper-id") // ID for the mapper
// Stateless printing sink
.print(); // Auto-generated ID
Or, in the following example, how many Operator we have (that we can assign IDs
to)? 3? KeyBy, window and aggregate?
input
.keyBy(<key selector>)
.window(<window assigner>)
.aggregate(new AverageAggregate)
Then, how many Operators (and which are they) do we have in the following
example?
stream.join(otherStream)
.where(<KeySelector>)
.equalTo(<KeySelector>)
.window(<WindowAssigner>)
.apply(<JoinFunction>)
Many Thanks.
Best regards/祝好,
Chang Liu 刘畅