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 刘畅


Reply via email to