大数据StarRocks(五) :数据类型

StarRocks 支持数据类型:数值类型、字符串类型、日期类型、半结构化类型、其他类型 。您在建表时可以指定以下类型的列,向表中导入该类型的数据并查询数据。

5.1 数值类型

复制代码
SMALLINT
	2 字节有符号整数,范围 [-32768, 32767]
INT
	4 字节有符号整数,范围 [-2147483648, 2147483647]
BIGINT
	8 字节有符号整数,范围 [-9223372036854775808, 9223372036854775807]
LARGEINT
	16 字节有符号整数,范围 [-2^127 + 1 ~ 2^127 - 1]
DECIMAL
	DECIMAL(P [, S]) 高精度定点数,P 代表一共有多少个有效数字 (precision),S 代表小数点后最多有多少数字 (scale)。1.19.0 及以后版本对 DECIMAL 类型的(P,S)有默认值设置,默认是 Decimal(10,0)。
DOUBLE
	8 字节浮点数。
FLOAT
	4 字节浮点数。
BOOLEAN
	BOOL, BOOLEAN
	与 TINYINT 一样,0 代表 false,1 代表 true, NULL代表空。
	实际使用中可以用CHAR(1)或VARCHAR(1)来代表BOOLEAN类型,字段值用Y表示"是",用N表示"否"。
TINYINT
PERCENTILE

5.2 字符串类型

复制代码
CHAR
	定长字符串,M 代表的是定长字符串的长度。M 的范围是 1~255。
VARCHAR
	变长字符串。M 代表变长字符串长度,单位:字节,默认取值为 1。
	StarRocks 2.1 之前的版本,M 的取值范围为 1~65533。
	【公测中】自 StarRocks 2.1 版本开始,M 的取值范围为 1~1048576。
STRING
	字符串,最大长度 65533 字节。
BINARY/VARBINARY
	自 3.0 版本起,StarRocks 支持 BINARY/VARBINARY 数据类型,用于存储二进制数据,单位为字节。
	支持的最大长度与 VARCHAR 类型相同,M 的取值范围为 1~1048576。如果未指定 M,默认为最大值 1048576。
	BINARY 是 VARBINARY 的别名,用法与 VARBINARY 相同。

5.3 日期类型

复制代码
DATETIME
	日期时间类型,取值范围是 ['0000-01-01 00:00:00', '9999-12-31 23:59:59']。
	打印的形式是'YYYY-MM-DD HH: MM: SS'
DATE
	日期类型,目前的取值范围是 ['0000-01-01', '9999-12-31'],默认的打印形式是 'YYYY-MM-DD'。

5.4 半结构化类型

复制代码
ARRAY
	数组(Array) 是数据库中的一种扩展数据类型,其相关特性在众多数据库系统中均有支持,可以广泛的应用于 A/B Test 对比、用户标签分析、人群画像等场景。StarRocks 当前支持多维数组嵌套、数组切片、比较、过滤等特性。
	定义一维数组: ARRAY<type>
	定义嵌套数组: ARRAY<ARRAY<type>>
	定义 NOT NULL 数组列: ARRAY<type> NOT NULL
JSON
	自 2.2.0 版本起,StarRocks 支持 JSON。本文介绍 JSON 的基本概念,以及 StarRocks 如何创建 JSON 类型的列、导入和查询 JSON 数据,通过 JSON 函数及运算符构造和处理 JSON 数据。
	JSON 是一种轻量级的数据交换格式,JSON 类型的数据是一种半结构化的数据,支持树形结构。JSON 数据层次清晰,结构灵活易于阅读和处理,广泛应用于数据存储和分析场景。JSON 支持的数据类型为数字类型(NUMBER)、字符串类型(STRING)、布尔类型(BOOLEAN)、数组类型(ARRAY)、对象类型(OBJECT),以及 NULL 值。
	JSON 的更多介绍,请参见 JSON 官网,JSON 数据的输入和输出语法,请参见 JSON 规范 RFC 7159 。
	StarRocks 支持存储和高效查询分析 JSON 数据。StarRocks 采用二进制格式编码来存储 JSON 数据,而不是直接存储所输入文本,因此在数据计算查询时,降低解析成本,从而提升查询效率。
MAP
	MAP 是一种复杂数据类型,用于存储无序的键值对 (key-value pair),例如 {a:1, b:2, c:3}。Map 中的 Key 不能重复。一个 Map 最多支持 14 层嵌套。
	StarRocks 从 3.1 版本开始支持存储和导入 MAP 类型的数据。您可以在建表时定义 MAP 列,向表中导入 MAP 数据,查询 MAP 数据。
	StarRocks 从 2.5 版本开始支持查询数据湖中的复杂数据类型 MAP 和 STRUCT。您可以通过 StarRocks 提供的 External Catalog 方式来查询 Apache Hive™,Apache Hudi,Apache Iceberg 中的 MAP 和 STRUCT 数据。仅支持查询 ORC 和 Parquet 类型文件。
	想了解如何使用 External Catalog 查询外部数据源,参见 Catalog 概述 和对应的 Catalog 文档。
	语法
		MAP<key_type,value_type>
		key_type:Key 的数据类型。必须是 StarRocks 支持的基本数据类型 (Primitive Type),例如数值、字符串、日期类型。不支持复杂类型,例如 HLL、JSON、ARRAY、MAP、BITMAP、STRUCT。
		value_type:Value 的数据类型。可以是 StarRocks 支持的任意类型,包括复杂类型。
		Key 和 Value 取值都可以为 NULL。
STRUCT
	STRUCT 是一种复杂数据类型,可以存储不同数据类型的元素(也称字段),例如 <a INT, b STRING>。
	Struct 中的字段名称不能重复。字段可以是基本数据类型 (Primitive Type),例如数值、字符串、日期类型;也可以是复杂数据类型,例如 ARRAY 或 MAP。
	Struct 中的字段可以是另外一个 Struct,Map,或者 Array,方便用户定义嵌套数据结构。例如 STRUCT<a INT, b STRUCT<c INT, d INT>, c MAP<INT, INT>, d ARRAY<INT>>。
	StarRocks 从 3.1 版本开始支持存储和导入 STRUCT 数据类型。您可以在建表时定义 STRUCT 列,向表中导入 STRUCT 数据,查询 STRUCT 数据。
	StarRocks 从 2.5 版本开始支持查询数据湖中的复杂数据类型 MAP 和 STRUCT。您可以通过 StarRocks 提供的 External Catalog 方式来查询 Apache Hive™,Apache Hudi,Apache Iceberg 中的 MAP 和 STRUCT 数据。仅支持查询 ORC 和 Parquet 类型文件。
	语法
		STRUCT<name type>
		name:字段名称,和建表语句中的列名相同。
		type:字段类型。可以是 StarRocks 支持的任意类型。

5.5 其他类型

复制代码
BITMAP
	BITMAP 与 HLL (HyperLogLog) 类似,常用来加速 count distinct 的去重计数使用。
	您可以通过 bitmap 函数进行集合的各种操作,相比 HLL 可以获得更精确的结果。但是 BITMAP 需要消耗更多的内存和磁盘资源,另外 BITMAP 只能支持整数类型的聚合,如果是字符串等类型需要采用字典进行映射。
HLL
	HyperLogLog 类型,用于近似去重。详细的使用方法请参考 使用 HyperLogLog 实现近似去重。
	HLL 是基于 HyperLogLog 算法的工程实现,用于保存 HyperLogLog 计算过程的中间结果,HLL 类型的列只能作为表的 value 列类型,通过聚合来不断的减少数据量,以此来实现加快查询的目的。基于 HLL 到的是一个估算结果,误差大概在 1% 左右。
	HLL 列是通过其它列或者导入数据里面的数据生成的,导入的时候通过 HLL_HASH 函数来指定数据中哪一列用于生成 HLL 列它常用于替代 count distinct,通过结合 rollup 在业务上用于快速计算 UV
相关推荐
小羊没烦恼!6 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
一隅论数智6 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
尧炎科技7 小时前
防潮抗变形,就选纯品梅花全桉多层板
大数据
程序员大阳7 小时前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
自由能燃气设备7 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远8 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
嘉立创FPC苗工8 小时前
FPC与机器人的双向赋能,解锁智能装备进化新势能
大数据·人工智能·制造·fpc·电路板
AI职业加油站8 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
龙亘川8 小时前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
码流子9 小时前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构