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