...
Warning |
---|
Prior to version |
...
This is a sliding window join, ie, all tuples that are "close" to each other with regard to time (ie, time difference up to window size) are joined. The result is a KStream. The table below shows the output (for each processed input record) for left and outer join only (as inner joins are not subject to spurious join results). Pay attention, that some input records do not produce output records, and that left/outer output record are emitted with some "delay" (ie, only emitted after grace-period passed). Also note, that the new behavior effectively requires to set a gracePeriod in the window definition to specify when left/outer join result should be emitted via ofTimeDifferenceNoGrace()
or ofTimeDifferenceWithGrace(...)
(setting the grace period using the old and now deprecated API :, JoinWindows.of(...).grace(...)
, will not result in this new behavior, but will produce the same result as in older releases, 0.10.2.x
to 2.8.x)
.
In contrast to the later examples, we assume a window size of 10, and a grace period of 5.
...
The table below marks so called "spurious" left/outer join results, that are in the result in version 0.10.2.x
to 2.8.x
, in bold face. Compare Improved left/outer stream-stream join above for version 3.0.x
that avoids spurious results.
...