当前位置: 首页 > article >正文

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)


http://www.kler.cn/a/523100.html

相关文章:

  • pytorch逻辑回归实现垃圾邮件检测
  • 05-机器学习-数据标注
  • ResNeSt: Split-Attention Networks 参考论文
  • 数据分析系列--③RapidMiner算子说明及数据预处理
  • 2025-01-28 - 通用人工智能技术 - RAG - 本地安装 DeepSeek-R1对话系统 - 流雨声
  • 【10.2】队列-设计循环队列
  • 微信外卖小城程序设计与实现(LW+源码+讲解)
  • Lesson 121 The man in a hat
  • 力扣-链表-206 反转链表
  • java小白日记31(枚举)
  • 17 一个高并发的系统架构如何设计
  • DataWhale组队学习 leetCode task4
  • 【C++】STL介绍 + string类使用介绍 + 模拟实现string类
  • 【2024年华为OD机试】 (C卷,200分)- 矩阵匹配(JavaScriptJava PythonC/C++)
  • Python Matplotlib库:从入门到精通
  • 【PySide6拓展】QGroupBox 容器组
  • C#System.Threading.Timer定时器意外回收注意事项
  • 实践网络安全:常见威胁与应对策略详解
  • TortoiseSvn无法查看日志_TortoiseSvn查看日志为空_恢复Svn文件到指定版本---Svn工作笔记007
  • Docker——入门介绍
  • 代码随想录算法训练营第三十八天-动态规划-完全背包-279.完全平方数
  • Ceph:关于Ceph 中使用 RADOS 块设备提供块存储的一些笔记整理(12)
  • 寒假刷题Day17
  • 【福州市AOI小区面】shp数据学校大厦商场等占地范围面数据内容测评
  • WebForms SortedList 深度解析
  • 【洛谷】P1111 修复公路(学习记录)