...
Regarding the second point, process/ connectAndProcess and other operations performed on DataStreams will return an instance of corresponding interfaces. We will change the return type of one-input/two-output/two-input process and toSink methods as shown in the table below.
stream type | function | old return type | new return type |
NonKeyedPartitionStream | process(OneInputStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream |
process(TwoOutputStreamProcessFunction) | TwoNonKeyedPartitionStreams | ProcessConfigurableAndTwoNonKeyedPartitionStreams | |
connectAndProcess(NonKeyedPartitionStream, TwoInputStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
connectAndProcess(BroadcastStream, | |||
TwoInputBroadcastStreamProcessFunction | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
toSink(Sink) | void | ProcessConfigurable | |
KeyedPartitionStream | process(OneInputStreamProcessFunction, KeySelector) | KeyedPartitionStream | ProcessConfigurableAndKeyedPartitionStream |
process(OneInputStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
process(TwoOutputStreamProcessFunction, KeySelector, KeySelector) | TwoKeyedPartitionStreams | ProcessConfigurableAndTwoKeyedPartitionStreams | |
process(TwoOutputStreamProcessFunction) | TwoNonKeyedPartitionStreams | ProcessConfigurableAndTwoNonKeyedPartitionStreams | |
connectAndProcess(KeyedPartitionStream, | |||
TwoInputNonBroadcastStreamProcessFunction); | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
connectAndProcess(KeyedPartitionStream, | |||
TwoInputNonBroadcastStreamProcessFunction, KeySelector) | KeyedPartitionStream | ProcessConfigurableAndKeyedPartitionStream | |
connectAndProcess(BroadcastStream, | |||
TwoInputBroadcastStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
connectAndProcess(BroadcastStream, | |||
TwoInputBroadcastStreamProcessFunction, KeySelector) | KeyedPartitionStream | ProcessConfigurableAndKeyedPartitionStream | |
toSink(Sink) | void | ProcessConfigurable | |
GlobalStream | process(OneInputStreamProcessFunction) | GlobalStream | ProcessConfigurableAndGlobalStream |
process(TwoOutputStreamProcessFunction) | TwoGlobalStreams | ProcessConfigurableAndTwoGlobalStreams | |
connectAndProcess(GlobalStream, | |||
TwoInputNonBroadcastStreamProcessFunction) | GlobalStream | ProcessConfigurableAndGlobalStream | |
toSink(Sink) | void | ProcessConfigurable | |
BroadcastStream | connectAndProcess(KeyedPartitionStream, | ||
TwoInputBroadcastStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
connectAndProcess(NonKeyedPartitionStream, | |||
TwoInputBroadcastStreamProcessFunction) | NonKeyedPartitionStream | ProcessConfigurableAndNonKeyedPartitionStream | |
connectAndProcess(KeyedPartitionStream, | |||
TwoInputBroadcastStreamProcessFunction, KeySelector) | KeyedPartitionStream | ProcessConfigurableAndKeyedPartitionStream |
Move SlotSharingGroup to flink-core-api module
...
Code Block | ||||
---|---|---|---|---|
| ||||
/** This class contains all logical related to process records from single input. */ public interface OneInputStreamProcessFunction<IN, OUT> extends ProcessFunction { // Omit logic of processing data and life-cycle methods. They can be found in FLIP-409. /** * Callback for processing timer. * * @param timestamp when this callback is triggered. * @param output to emit record. * @param ctx, runtime context in which this function is executed. */ default void onProcessingTimer(long timestamp, Collector<OUT> output, RuntimeContext ctx) {} } |
...
TwoInputNonBroadcastStreamProcessFunction
Code Block | ||||
---|---|---|---|---|
| ||||
/** This class contains all logical related to process records from two non-broadcast input. */ public interface TwoInputStreamProcessFunction<IN1TwoInputNonBroadcastStreamProcessFunction<IN1, IN2, OUT> extends ProcessFunction { // Omit logic of processing data and life-cycle methods. They can be found in FLIP-409. /** * Callback for processing timer. * * @param timestamp when this callback is triggered. * @param output to emit record. * @param ctx, runtime context in which this function is executed. */ default void onProcessingTimer(long timestamp, Collector<OUT> output, RuntimeContext ctx) {} } |
...
TwoInputBroadcastStreamProcessFunction
Code Block | ||||
---|---|---|---|---|
| ||||
/** * This class contains all logical related to process records from two input. a broadcast stream and a * non-broadcast stream. */ public interface TwoInputStreamProcessFunction<IN1TwoInputBroadcastStreamProcessFunction<IN1, IN2, OUT> extends ProcessFunction { // Omit logic of processing data and life-cycle methods. They can be found in FLIP-409. /** * Callback for processing timer. * * @param timestamp when this callback is triggered. * @param output to emit record. * @param ctx, runtime context in which this function is executed. */ default void onProcessingTimer(long timestamp, Collector<OUT> output, RuntimeContext ctx) {} } |
...