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

news2024/11/17 9:33:42

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1377441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索SQL性能优化之道:实用技巧与最佳实践

SQL性能优化可能是每个数据库管理员和开发者在日常工作中必不可少的一个环节。在大数据时代&#xff0c;为确保数据库系统的响应速度和稳定性&#xff0c;掌握一些实用的SQL优化技巧至关重要。 本文将带着开发人员走进SQL性能优化的世界&#xff0c;深入剖析实用技巧和最佳实践…

彻底解决charles抓包https乱码的问题

最近做js逆向&#xff0c;听说charles比浏览器抓包更好用&#xff0c;结果发现全是乱码&#xff0c;根本没法用。 然后查询网上水文&#xff1a;全部都是装证书&#xff0c;根本没用&#xff01; 最后终于找到解决办法&#xff0c;在这里记录一下&#xff1a; 乱码的根本原因…

Paddle模型转ONNX

深度学习模型在硬件加速器上的部署常常要用到ONNX&#xff08;Open Neural Network Exchange&#xff0c;开放神经网络交换&#xff09;格式&#xff0c;也可以通过ONNX实现不同AI框架&#xff08;如Pytorch、TensorFlow、Caffe2、PaddlePaddle等&#xff09;之间的模型转换。 …

MySQL-外键等信息

38. 基础-多表查询-概述_哔哩哔哩_bilibili 1、流程函数 2、约束字段 删除外键 &#xff1a; alter table emp2 drop foreign key 外键名 //外键可以保持数据的一致性和完整性&#xff0c;外键的话&#xff0c;就是类似一个主表&#xff0c;一个从表&#xff0c;从表的其中一…

【grpc】利用protobuf实现java或kotlin调用python脚本,含实现过程和全部代码

前言 在一些特殊场景中&#xff0c;我们可能需要使用java或者其他任意语言调用python脚本或sdk等。本文的需求衍生也不例外于此&#xff0c;python端有sdk&#xff0c;但只能在python中调用&#xff0c;于是就有了本文章。 常见的调用方式如jython、python提供http rest接口、…

波动,热传导,扩散方程建立

数学物理方程是从自然科学的各个领域和工程技术领域中导出的偏微分方程和积分方程.在这些以偏微分方程为基础的数学模型中&#xff0c;二阶线性偏微分方程中的三个典型方程与定解条件的建立、解法及其应用&#xff0e;描述振动和波动过程的波动方程、描述输运过程的热传导&…

2024年MIA最新生成综述:基于深度学习的MRI/CT/PET合成【文献阅读】

2024年MIA最新生成综述&#xff1a;基于深度学习的MRI/CT/PET合成【文献阅读】 基本信息 标题&#xff1a;Deep learning based synthesis of MRI, CT and PET: Review and analysis发表年份: 2024期刊/会议: Medical Image Analysis分区&#xff1a; SCI 1区IF&#xff1a;1…

知道IP怎么反查域名?这几个方法一查一个准!

知道网络IP怎么反查出真实域名来&#xff1f;给大家分享几个我常用的方法&#xff0c;就算你不懂技术你都能查得出来&#xff01; 一、fofa 这是一个白帽黑客非常喜欢用的社工平台&#xff0c;只要你输入IP就能查到很多背后的信息。 传送门&#xff1a;https://fofa.info 二…

智慧厂区烟火识别系统应用

在当今的智能制造行业中&#xff0c;安全管理已成为优先考虑的重要议题。集度汽车公司在其实验室场区引入了一项创新技术——富维图像厂区烟火识别系统。这个项目的核心是利用先进的烟火识别系统&#xff0c;保障厂区的安全与稳定运行。 系统特点 烟火识别系统的准确率高和误报…

Spring Cloud Alibaba整合RocketMQ架构原理分析

关于RocketMQ的原理&#xff0c;本文就不做详细分析了&#xff0c;这里就重点关注Spring Cloud Alibaba是如何整合RocketrMQ的。 Part.1 使用原生RocketMQ客户端&#xff1f; RocketMQ提供了RocketMQ Client SDK&#xff0c;开发者可以直接依赖这个SDK&#xff0c;就可以完成…

NAS使用的一些常见命令 ssh sftp 上传 下载 ALL in one

目录 登陆上传/下载内网穿透 登陆 ssh 登陆 ssh usernameserverIP -p portNumsftp 登陆 sftp -P portNum usernameserverIP上传/下载 如ls等&#xff0c;远程服务器操作 如lls等&#xff0c;本机操作&#xff0c;前缀为l 文件 put **** 将本机上文件上传到远程服务器上当…

初识Ubuntu

其实还是linux操作系统 命令都一样 但是在学习初级阶段&#xff0c;我还是将其分开有便于我的学习和稳固。 cat 查看文件 命令 Ubuntu工作中经常是用普通用户&#xff0c;在需要时才进行登录管理员用户 sudn -i 切换成管理用户 我们远程连接时 如果出现 hostname -I没有出现…

【LeetCode每日一题】2085. 统计出现过一次的公共字符串(哈希表)

2024-1-12 文章目录 [2085. 统计出现过一次的公共字符串](https://leetcode.cn/problems/count-common-words-with-one-occurrence/)思路&#xff1a;哈希表计算 2085. 统计出现过一次的公共字符串 思路&#xff1a;哈希表计算 1.用两个哈希表分别统计word1和word2中字符出现的…

一本数学教材严谨和通俗哪个更重要?

一本教材也许无法同时兼顾严谨和通俗&#xff0c;而且在不同的场景下&#xff0c;严谨和通俗的重要性也不尽相同&#xff1a; 在正式的学术场合&#xff0c;严谨当然重要&#xff0c;一些不严谨的教材可能无法通过审校&#xff0c;在读者存在疑问的时候&#xff0c;也不一定能给…

C++ Webserver从零开始:基础知识(一)——Linux网络编程基础API

前言 本专栏将从零开始制作一个C Webserver&#xff0c;用以记录笔者学习的过程 如果你想要跟着我这个专栏制作一个C Webserver,你需要掌握以下前置基础课程知识&#xff1a; 1.C/C的语法&#xff08;在Leetcode刷100~200题的程度即可&#xff09; 2.计算机网络基础知识 3…

WSL2-Ubuntu20.04-配置

WSL2-Ubuntu20.04-配置 安装wsl2安装Ubuntu20.04安装anacondaWSL2可视化&#xff08;VcXsrv&#xff09; 安装wsl2 wsl --install wsl -l -v # 版本查看 默认的都是 wsl2 &#xff08;如果是wsl1 就自行升级 wsl --update&#xff09; 官方教程 安装Ubuntu20.04 安装wsl2之后…

CRLF漏洞靶场记录

搭建 利用 docker 搭建 vulhub 靶场 git clone https://github.com/vulhub/vulhub.git 进入 /vulhub/nginx/insecure-configuration 目录 启动前关闭现有的 8080、8081、8082 端口服务&#xff0c;避免端口占用 docker-compose up -d 进入容器 docker exec -it insecure-…

char常见问题之一【C语言】

引出 在所写的代码中&#xff1a; char ch0 "asd";报错&#xff1a;因为char类型的变量只能存储一个字符&#xff0c;不能存储字符串 char ch1a;正确 char ch2"a";报错&#xff1a;因为&#xff0c;虽然a是一个字符&#xff0c;但是用了双引号&#xf…

视频号下载小助手:教你微信视频号怎么提取视频出来

作为一名剪辑师或自由职业者,我们作为短视频创作者有时候需要下载多个视频用于制作多个解说系列的视频或者连续剧。然而,下载这些视频通常需要花费大量时间和精力,尤其是在没有合适的工具的情况下&#xff0c;让我们制作视频也确实困难&#xff0c;那么我们该如何解决呢&#x…

《产业结构调整指导目录(2024年本)》发布,模糊测试首次纳入

近日&#xff0c;第6次委务会议通过了新版的《产业结构调整指导目录&#xff08;2024年本&#xff09;》&#xff0c;该目录自2024年2月1日起正式实施。 与之前的版本相比&#xff0c;本次目录在行业设置上进行了全面升级&#xff0c;新增了“网络安全”这一重要行业大类&#…