从我对flink的一点小经验中,我注意到即使我们有到达顺序的事件,它们也应该在顺序丢失之后到达。这里讨论的是:流中记录的排序所以我有三个问题来扩展上面提到的问题:在keyby函数之后,订单丢失的原因我仍然不清楚。为什么会这样?有没有办法确保即使在分区之后事件的顺序?如果我们不创建keyedstreams,每个并行操作符的事件顺序是否有保证?
e5nszbig1#
我想这里可能有些误会。我将尝试重新整理一些东西:对于由具有相同键的同一运算符发出的元素,将保留元素的顺序。但是,在分区之后的接收端,如果您使用它接收到的同一个键对所有记录进行说明,则没有任何严格的排序,这只是因为每个并行运算符的排序是有保证的。
1条答案
按热度按时间e5nszbig1#
我想这里可能有些误会。我将尝试重新整理一些东西:
对于由具有相同键的同一运算符发出的元素,将保留元素的顺序。但是,在分区之后的接收端,如果您使用它接收到的同一个键对所有记录进行说明,则没有任何严格的排序,这只是因为每个并行运算符的排序是有保证的。