IntervalJoin

@PublicEvolving
class IntervalJoin[IN1, IN2, KEY](val streamOne: KeyedStream[IN1, KEY], val streamTwo: KeyedStream[IN2, KEY])

Perform a join over a time interval.

Type parameters:
IN1

The type parameter of the elements in the first streams

IN2

The type parameter of the elements in the second stream

class Object
trait Matchable
class Any

Value members

Concrete methods

@PublicEvolving
def between(lowerBound: Time, upperBound: Time): IntervalJoined[IN1, IN2, KEY]

Specifies the time boundaries over which the join operation works, so that

Specifies the time boundaries over which the join operation works, so that

leftElement.timestamp +
lowerBound <= rightElement.timestamp <= leftElement.timestamp + upperBound

By default both the lower and the upper bound are inclusive. This can be configured with IntervalJoined.lowerBoundExclusive and IntervalJoined.upperBoundExclusive

lowerBound <= rightElement.timestamp <= leftElement.timestamp + upperBound the upper bound are inclusive. This can be configured with IntervalJoined.lowerBoundExclusive and IntervalJoined.upperBoundExclusive

Value parameters:
lowerBound

The lower bound. Needs to be smaller than or equal to the upperBound

upperBound

The upper bound. Needs to be bigger than or equal to the lowerBound

Concrete fields

val streamOne: KeyedStream[IN1, KEY]
val streamTwo: KeyedStream[IN2, KEY]