可以通过设置Key的方式保证同一个账户的数据是有序的
------------------------------------------------------------------
发件人:Danny Chan <
[hidden email]>
发送时间:2020年9月8日(星期二) 11:12
收件人:user-zh <
[hidden email]>
主 题:Re: 消费kafka数据乱序问题
你的 source 消费单/多 partition 数据相对 partition 来说仍然是有序的 只是 source 和下游 operator 如果存在数据 shuffle 就会破坏顺序,目前想保序,一种办法是 source 的并发和下游保持一致。
Best,
Danny Chan
在 2020年9月4日 +0800 PM4:40,smq <
[hidden email]>,写道:
> 大家好
> 现在碰到一个关于处理乱序的问题,业务场景是银行余额的更新,数据源是kafka,有一个账户余额字段,sink到kudu,更新客户余额.
> 如果对于同一个账户的多笔操作出现乱序,可能会导致客户余额不对。比如一个客户账户有100块,先消费100,然后存100,按照正常的数据处理顺序,帐户余额应该还是100的,假如说先处理了存钱,存上之后余额是100-100+100=100,然后处理消费100的那条数据,由于消费在前,这时这条数据对应的余额是100-100=0。
> 这样的话就出现了统计余额错误,请问想要按照事件时间处理数据是不是可以先keyby,然后用watermark.