Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Logically, process functions that support more inputs and outputs can be achieved by combining them, but this implementation might be inefficient. If the call for this becomes louder, we will consider supporting as many output edges as we want through a mechanism like OutputTag. But this loses the explicit generic type information that comes with using ProcessFunction.

The case of two input is relatively special, and we have divided it into two categories:

  1. TwoInputStreamProcessFunction: Neither of its inputs is a BroadcastStream, so processing only applied to the single partition.
  2. BroadcastTwoInputStreamProcessFunction: One of its inputs is the BroadcastStream, so the processing of this input is applied to all partitions. While the other side is Keyed/Non-Keyed Stream, it's processing applied to single partition.

Advantages of ProcessFunction

...