StarRocks/starrocks

support some complex type's output and input

Open

#62,913 建立於 2025年9月10日

在 GitHub 查看
 (1 留言) (0 反應) (0 負責人)Java (5,717 star) (1,246 fork)batch import
good first issuetype/feature-request

描述

Description

Sometimes we want to export complex(hll/bitmap/quantile_state/agg_state) types for data backup, and then reimport the exported data into SR to restore the data.

We can export the data of the serialized complex type to the file as binary, and then restore the binary to the complex type through deserialization. (e.g. DataTypeAggState::serialize/deserialize)

support stream load import

Use case


create table a_table(
    k1 int null,
    k2 agg_state<max_by(int not null,int)> generic,
    k3 agg_state<group_concat(string)> generic
)
aggregate key (k1)
distributed BY hash(k1) buckets 3
properties("replication_num" = "1");

insert into a_table values(1,max_by_state(3,1),group_concat_state('a'));
insert into a_table values(1,max_by_state(2,2),group_concat_state('bb'));
insert into a_table values(2,max_by_state(1,3),group_concat_state('ccc'));

select * from a_table INTO OUTFILE "file:///mnt/disk3/root/sr/tmp.csv";

LOAD DATA LOCAL INFILE 'tmp.csv*' INTO TABLE a_table COLUMNS TERMINATED BY ',' LINES TERMINATED BY '\n';

貢獻者指南