Skip to main content

Module join_range

Module join_range 

Source
Expand description

Range-join operators.

Range-join is a form of non-equi join where each key in the left operand matches a contiguous range of keys in the right operand.

Consider two indexed Z-sets z1 and z2, a function range_func that maps a key in z1 to a half-closed interval of keys [lower, upper) in z2 and another function join_func that, given (k1, v1) in z1 and (k2, v2) in z2, returns an iterable collection c of output values. The range-join operator works as follows:

  • For each k1 in z1, find all keys in z2 within the half-closed interval join_range(k1).
  • For each ((k1, v1), w1) in z1 and ((k2, v2), w2) in z2 where k2 ∈ join_range(k1), add all values in join_func(k1,v1,k2,v2) to the output batch with weight w1 * w2.

Structs§

StreamJoinRange
StreamJoinRangeFactories