欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > doris: MAP数据类型

doris: MAP数据类型

2025/1/31 17:38:16 来源:https://blog.csdn.net/qq_36070104/article/details/145374381  浏览:    关键词:doris: MAP数据类型

MAP<K, V> 表示由K, V类型元素组成的 map,不能作为 key 列使用。

  • 目前支持在 Duplicate,Unique 模型的表中使用。

K, V 支持的类型有:

BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DECIMALV3,
DATE, DATEV2, DATETIME, DATETIMEV2, CHAR, VARCHAR, STRING

CSV格式导入​

第 1 步:准备数据​

创建如下的 csv 文件:test_map.csv 其中分隔符使用 | 而不是逗号,以便和 map 中的逗号区分。

1|{"Emily":101,"age":25}
2|{"Benjamin":102}
3|{}
4|null

第 2 步:在数据库中建表​

CREATE TABLE map_test (id       INT                 NOT NULL,c_map    MAP<STRING, INT>    NULL
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES ("replication_allocation" = "tag.location.default: 1"
);

第 3 步:导入数据​

curl --location-trusted \-u "root":"" \-H "column_separator:|" \-H "columns: id, c_map" \-T "test_map.csv" \http://localhost:8040/api/testdb/map_test/_stream_load

第 4 步:检查导入数据​

mysql> SELECT * FROM map_test;
+------+-------------------------+
| id   | c_map                   |
+------+-------------------------+
|    1 | {"Emily":101, "age":25} |
|    2 | {"Benjamin":102}        |
|    3 | {}                      |
|    4 | NULL                    |
+------+-------------------------+
4 rows in set (0.01 sec)

JSON格式导入​

第 1 步:准备数据​

创建如下的 JSON 文件,test_map.json

[{"id":1, "c_map":{"Emily":101, "age":25}},{"id":2, "c_map":{"Benjamin":102}},{"id":3, "c_map":{}},{"id":4, "c_map":null}
]

第 2 步:在数据库中建表​

CREATE TABLE map_test (id       INT                 NOT NULL,c_map    MAP<STRING, INT>    NULL
)
DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 1
PROPERTIES ("replication_allocation" = "tag.location.default: 1"
);

第 3 步:导入数据​

curl --location-trusted \-u "root":"" \-H "format:json" \-H "columns: id, c_map" \-H "strip_outer_array:true" \-T "test_map.json" \http://localhost:8040/api/testdb/map_test/_stream_load

第 4 步:检查导入数据​

mysql> SELECT * FROM map_test;
+------+-------------------------+
| id   | c_map                   |
+------+-------------------------+
|    1 | {"Emily":101, "age":25} |
|    2 | {"Benjamin":102}        |
|    3 | {}                      |
|    4 | NULL                    |
+------+-------------------------+
4 rows in set (0.01 sec)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com