Bitmap
更新时间:2025-05-29
BITMAP 类型可以在 Duplicate 表、Unique 表、Aggregate 表中使用,只能作为 Key 类,无法作为 Value 列使用。在 Aggregate 表中使用 BITMAP 类型,其建表时必须使用聚合类型 BITMAP_UNION。用户不需要指定长度和默认值。长度根据数据的聚合程度系统内控制。更多文档参考Bitmap。
使用示例
第 1 步:准备数据
创建如下的 csv 文件:test_bitmap.csv
Plain Text
11|koga|17723
22|nijg|146285
33|lojn|347890
44|lofn|489871
55|jfin|545679
66|kon|676724
77|nhga|767689
88|nfubg|879878
99|huang|969798
1010|buag|97997
第 2 步:在库中创建表
Plain Text
1CREATE TABLE testdb.test_bitmap(
2 typ_id BIGINT NULL COMMENT "ID",
3 hou VARCHAR(10) NULL COMMENT "one",
4 arr BITMAP BITMAP_UNION NOT NULL COMMENT "two"
5)
6AGGREGATE KEY(typ_id,hou)
7DISTRIBUTED BY HASH(typ_id,hou) BUCKETS 10;
第 3 步:导入数据
Plain Text
1curl --location-trusted -u <doris_user>:<doris_password> \
2 -H "column_separator:|" \
3 -H "columns:typ_id,hou,arr,arr=to_bitmap(arr)" \
4 -T test_bitmap.csv \
5 -XPUT http://<fe_ip>:<fe_http_port>/api/testdb/test_bitmap/_stream_load
第 4 步:检查导入数据
Plain Text
1mysql> select typ_id,hou,bitmap_to_string(arr) from testdb.test_bitmap;
2+--------+-------+-----------------------+
3| typ_id | hou | bitmap_to_string(arr) |
4+--------+-------+-----------------------+
5| 4 | lofn | 489871 |
6| 6 | kon | 676724 |
7| 9 | huang | 969798 |
8| 3 | lojn | 347890 |
9| 8 | nfubg | 879878 |
10| 7 | nhga | 767689 |
11| 1 | koga | 17723 |
12| 2 | nijg | 146285 |
13| 5 | jfin | 545679 |
14| 10 | buag | 97997 |
15+--------+-------+-----------------------+
1610 rows in set (0.07 sec)