【技术预研】StarRocks官方文档浅析(4)

背景说明

基于starRocks官方文档,对其内容进行一定解析,方便大家理解和使用。
若无特殊标注,startRocks版本是3.2。
下面的章节和官方文档保持一致。

参考文档

产品简介 | StarRocks

StarRocks

StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。StarRocks 兼容 MySQL 协议,可使用 MySQL 客户端和常用 BI 工具对接。同时 StarRocks 具备水平扩展,高可用、高可靠、易运维等特性。广泛应用于实时数仓、OLAP 报表、数据湖分析等场景。

函数参考

函数相对比较丰富,可以在使用的时候进行查询。
或者自己定义udf函数。

Information Schema

数据库的元数据,用于查询创建表和视图等信息。

HTTP API

除jdbc连接数据库的方式,提供一种额外的查询功能,当前支持 SELECT、SHOW、EXPLAIN、KILL 语句。

AUTO_INCREMENT

自增列,用于唯一的全局自增id。理论上可以优化部分场景的查询。

生成列

就是提供一种在建表的时候,可以将一个字段输出多种格式的东西。
例如:要输出不同价格,一个输出“元”,一个输出“万元”。那么“万元”可以基于“元”进行计算获得。
有两个注意事项:一是,建议在建表的时候增加生成列,而不是在建表后新增或者修改,因为开销会增加很多。二是,会影响写入性能,因为要增加额外的计算。

预准备语句

SQL语句支持传入变量,这样减少在java端的拼接成本,因为节省了SQL语句解析的开销。
从安全的角度,防止 SQL 注入攻击。

系统变量

可以通过 SHOW VARIABLES [LIKE ‘xxx’]; 查看所有或指定的变量。例如:

-- 查看系统中所有变量。
SHOW VARIABLES;

-- 查看符合匹配规则的变量。
SHOW VARIABLES LIKE '%time_zone%';

相关变量的使用,建议需要的时候查询。

用户自定义变量

当前仅支持声明会话级别的自定义变量,即用户只能使用自己声明的自定义变量,且如客户端断开,那么当前会话中所有自定义变量将失效。
相当于提供java中的public。

错误码

报错信息对应表。本节描述查询请求常见的错误码。

错误码 错误信息
1005 创建表格失败,并给出具体原因。
1007 不能创建同名的数据库。
1008 不能删除不存在的数据库。
1044 不能访问未授权的数据库。
1045 用户名及密码不匹配,不能访问系统。
1046 没有指定要查询的目标数据库。
1047 指定了无效的指令。
1049 指定了无效的数据库。
1050 已存在同名的数据表。
1051 指定了无效的数据表。
1052 指定的列名有歧义,不能唯一确定对应列。
1053 为 Semi-Join/Anti-Join 查询指定了非法的数据列。
1054 表中不存在指定的列。
1058 查询语句中选择的列数目与查询结果的列数目不一致。
1060 列名重复。
1064 无存活的 BE 节点。
1066 查询语句中出现重复的表别名。
1094 线程 ID 无效。
1095 非线程的拥有者不能终止线程的运行。
1096 查询语句没有指定要查询或操作的数据表。
1102 数据库名不正确。
1104 数据表名不正确。
1105 其它错误。
1110 子查询中指定了重复的列。
1111 在 Where 子句中非法使用聚合函数。
1113 新建表的列集合不能为空。
1115 使用了不支持的字符集。
1130 客户端使用了未被授权的 IP 地址来访问系统。
1132 没有权限修改用户密码。
1141 撤销用户权限时指定了用户不具备的权限条目。
1142 执行了未被授权的操作。
1166 数据列名字不正确。
1193 使用了无效的系统变量名字。
1203 使用的活跃连接数目超过了限制。
1211 不允许创建新用户。
1227 执行了越权操作。
1228 会话变量不能通过 SET GLOBAL 指令来修改。
1229 全局变量应通过 SET GLOBAL 指令来修改。
1230 相关的系统变量无缺省值。
1231 给某系统变量设置了无效值。
1232 给某系统变量设置了错误数据类型的值。
1248 没有给内联视图设置别名。
1251 客户端不支持服务器要求的用户认证协议。
1286 配置的存储引擎不正确。
1298 配置的时区不正确。
1347 对象与期望的类型不匹配。
1353 视图的 SELECT 子句中指定的列数目与其定义的列数目不相等。
1364 没有给不允许 NULL 值的列设置缺省值。
1372 密码长度不够。
1396 用户执行的某操作运行失败。
1471 指定的表不允许插入数据。
1507 删除不存在的分区,且没有指定如果存在才删除的条件。
1508 应该通过删除表的操作来删除所有分区。
1517 出现了重复的分区名。
1524 指定的插件尚未被加载。
1567 分区名不正确。
1621 指定的系统变量是只读的。
1735 表中不存在指定的分区名。
1748 不能向没有分区的表中插入数据。
1749 不存在指定的分区。
5000 指定的表不是 OLAP 表。
5001 指定的存储过程路径无效。
5002 应显示指定列名。
5003 维度列应排在指标列之前。
5004 表至少应包含1个维度列。
5005 集群 ID 无效。
5006 无效的查询规划提示。
5007 冲突的查询规划提示。
5008 数据插入提示仅适用于有分区的数据表。
5009 PARTITION 子句不适用于向不分区的表插入数据。
5010 待创建表的列数目与 SELECT 子句中的列数目不相等。
5011 无法解析表引用。
5012 指定的值不是一个有效数字。
5013 不支持该时间单位。
5014 表状态不正常。
5015 分区状态不正常。
5016 分区上存在数据导入任务。
5017 指定列不是维度列。
5018 值的格式无效。
5019 数据副本与版本不匹配。
5021 BE 节点已离线。
5022 非分区表的分区数不为1。
5023 修改表或数据的语句中没有指定任何操作。
5024 任务执行超时。
5025 数据插入操作失败。
5026 通过 SELECT 语句创建表时使用了不支持的数据类型。
5027 没有设置指定的参数。
5028 没有找到指定的集群。
5030 某用户没有访问集群的权限。
5031 没有指定参数或参数无效。
5032 没有指定集群实例数目。
5034 已存在同名的集群。
5035 集群实例数目配置错误。
5036 集群中 BE 节点不足。
5037 删除集群前应先删除所有数据库。
5037 集群中不存在指定 ID 的 BE 节点。
5040 不存在同名的集群。
5042 没有权限。
5043 实例数目应大于0。
5046 源集群不存在。
5047 目标集群不存在。
5048 源数据库不存在。
5049 目标数据库不存在。
5050 没有选择集群。
5051 应先将源数据库关联至目标数据库。
5052 集群内部错误:BE 节点信息错误。
5053 没有从源数据库到目标数据库的迁移任务。
5054 指定数据库已经被关联至目标数据库,或正在迁移数据。
5055 数据库关联或数据迁移不能在同一集群内执行。
5056 不能删除数据库:被关联至其它数据库或正在迁移数据。
5056 不能重命名数据库:被关联至其它数据库或正在迁移数据。
5056 集群中 BE 节点不足。
5056 集群内已存在指定数目的 BE 节点。
5059 集群中存在处于下线状态的 BE 节点。
5063 类型名不正确。
5064 通用错误提示。
5063 Colocate 功能已被管理员禁用。
5063 不存在同名的 Colocate 数据表。
5063 Colocate 表必须是 OLAP 表。
5063 Colocate 表应该具有同样的副本数目。
5063 Colocate 表应该具有同样的分桶数目。
5063 Colocate 表的分区列数目应该一致。
5063 Colocate 表的分区列的数据类型应该一致。
5064 指定表不是 Colocate 表。
5065 指定的操作无效。
5065 指定的时间单位非法,正确的单位包括:DAY、WEEK、MONTH。
5066 动态分区起始值应该小于0。
5066 动态分区起始值不是有效的数字。
5066 动态分区结束值应该大于0。
5066 动态分区结束值不是有效的数字。
5066 动态分区结束值为空。
5067 动态分区分桶数应该大于0。
5067 动态分区分桶值不是有效的数字。
5066 动态分区分桶值为空。
5068 是否允许动态分区的值不是有效的布尔值:true 或者 false。
5069 指定的动态分区名前缀非法。
5070 指定的操作被禁止了。
5071 动态分区副本数应该大于0。
5072 动态分区副本值不是有效的数字。

系统限制

涉及用户名和字段等限制,例如字段长度,或者用户名的长度。

AWS IAM 策略

暂时跳过。

你可能感兴趣的:(starRocks,大数据)