有序流的Flink保证

时间:2017-03-29 10:25:37

标签: apache-flink flink-streaming

根据我对Flink的一点经验,我注意到即使我们有订单到达订单,他们应该在分区后到达,订单也会丢失。这在这里讨论: Ordering of Records in Stream

所以我有3个问题可以扩展上面提到的问题:

  1. 我仍然不清楚keyBy函数后订单丢失的原因。为什么会这样?

  2. 即使在分区之后,还有办法确保事件的顺序吗?

  3. 如果我们不创建KeyedStreams,那么每个并行运算符保证事件的顺序是什么?

1 个答案:

答案 0 :(得分:0)

我认为这里可能存在一些误解。我试着在这里重新诠释一些事情:

对于使用相同键从同一运算符发出的元素,将保留元素的顺序。但是,在分区之后的接收端,如果您考虑所有具有相同密钥的记录,则不会有任何严格的排序,只是因为保证每个并行运算符的排序。