以下代码片段是从 JoinedStreams 的 javadoc 复制而来的
val one: DataStream[(String, Int)] = ...
val two: DataStream[(String, Int)] = ...
val result = one.join(two)
.where {t => ... }
.equal {t => ... }
.window(TumblingEventTimeWindows.of(Time.of(5, TimeUnit.SECONDS)))
.apply(new MyJoinFunction())
两个流仅基于一个键(通过t => ...
计算(连接,例如,one.a = two.a
,
我会问我如何基于多个键进行连接,例如,one.a = two.a 和one.b = two.b
你的键选择器可以返回一个元组,即
.where {t => (t.a, t.b)}
.equals {t => (t.a, t.b)}
通过在加入时使用键选择器,可以生成一个元组来显示两个键。