ARRAY
description
ARRAY<T>
由T类型元素组成的数组,不能作为key列使用。目前支持在Duplicate模型的表中使用。
T支持的类型有:
BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, FLOAT, DOUBLE, DECIMAL, DATE,
DATETIME, CHAR, VARCHAR, STRING
notice
使用前可以通过如下命令打开Array开关:
$ mysql-client > admin set frontend config("enable_array_type"="true");
这种方式下Array开关会在Fe进程重启后重置,或者在fe.conf中添加enable_array_type=true
配置项可永久生效。
example
建表示例如下:
mysql> CREATE TABLE `array_test` (
`id` int(11) NULL COMMENT "",
`c_array` ARRAY<int(11)> NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`id`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"in_memory" = "false",
"storage_format" = "V2"
);
插入数据示例:
mysql> INSERT INTO `array_test` VALUES (1, [1,2,3,4,5]);
mysql> INSERT INTO `array_test` VALUES (2, array(6,7,8)), (3, array()), (4, null);
注意:以上sql仅在非向量化场景下,支持 array() 函数,向量化场景不支持。
查询数据示例:
mysql> SELECT * FROM `array_test`;
+------+-----------------+
| id | c_array |
+------+-----------------+
| 1 | [1, 2, 3, 4, 5] |
| 2 | [6, 7, 8] |
| 3 | [] |
| 4 | NULL |
+------+-----------------+
keywords
ARRAY