【发布时间】:2020-03-10 15:33:48
【问题描述】:
假设我有一个 events 的数据流,我想将它广播到一个(丰富的)地图运算符(map1),该运算符链接到另一个(丰富的)地图运算符(map2)。两张图的平行度是一样的。我想要的是 map1 的每个并行实例的输出转到 map2 的一个并行实例(即,两个地图之间没有广播)。这是我到目前为止所做的,但我不确定它是否在逻辑上正确。还好吗?
val trainedStream = events.broadcast.map(new Mapper1(...)).setParallelism(par)
trainedStream.startNewChain.map(new Mapper2(...)).setParallelism(par)
后续问题:map1 和 map2 的两个链式子任务/并行实例的 SubtaskIndex(从 RuntimeContext.getIndexOfThisSubtask 接收)是否相同?有没有办法检查这个?
代码在 Scala 中,但我猜这同样适用于 Java
【问题讨论】:
标签: java scala apache-flink flink-streaming