agg模型和radom分桶一起用是不是会有问题,相同key没有被聚合?

Viewed 48

版本:
2.1.4-rc03

问题描述:
我建表的时候使用AGGREGATE key,分桶的时候使用DISTRIBUTED BY random BUCKETS auto

加载数据时,发现相同key的数据有时没有被聚合

建表:

create table test_agg_random
(
user_id varchar(30) ,
small_1 smallint min
) AGGREGATE key(user_id) 
DISTRIBUTED BY random BUCKETS auto 
properties (
    "replication_num" = "1" 
);

加载:

insert into test_agg_random (user_id, small_1) values (171880641998004128, 1);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 2);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 3);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 4);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 5);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 6);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 7);
insert into test_agg_random (user_id, small_1) values (171880641998004128, 8);

查询结果:

select * from test_agg_random;

171880641998004128	3
171880641998004128	1
171880641998004128	7
171880641998004128	8
171880641998004128	2
171880641998004128	4
171880641998004128	6

换成hash分桶结果就正常了:

create table test_agg_hash
(
user_id varchar(30) ,
small_1 smallint min
) AGGREGATE key(user_id) 
DISTRIBUTED BY hash(user_id) BUCKETS auto 
properties (
    "replication_num" = "1" 
);

我的问题:
我有尝试使用unique key + random分桶建表,会报错说不允许这样用;

我想知道AGGREGATE key + random分桶建表是否也是不允许的使用方式,为什么和unique key + random分桶的行为不一样?
有没有办法能让我AGGREGATE key + random分桶的数据正常聚合?

1 Answers

进展更新:
这个问题对应的PR在master和2.1。
https://github.com/apache/doris/pull/33630 这个PR修改很多,pick到2.0有较大风险,所以没有pick 。可以通过修改建表或者升级2.1都能解决问题。
这个问题没有复现,你确定下你的doris的版本
image.png