关于flinksql写doris时使用sequence列来保证顺序

Viewed 23

看很多文章写的是同一批次内保证顺序,实测了一下是可以全局保证顺序的,即使是不同批次的数据。不知理论上是否也是保证全局有序的设计?

1 Answers

seq 列主要是为了应对并发导入和并发更新场景,比如多次导入数据时,如果存在重复主键,Doris 会根据版本号确定覆盖顺序,版本号较高的数据会覆盖版本号较低的数据。

通过用户在导入时指定 sequence 列,相同 key 列下,按照 sequence 列的值进行替换。

所以不管是同一批次还是不同批次的数据,最后会根据 seq 列的大小进行替换,来保证最终正确的顺序。