一些用户因没注意限制条件,业务启动后才发现限制条件,导致业务停止。为避免此类现象发生,方便用户查看,本文将对 MaxCompute SQL 限制项做以下汇总:
边界名 | 最大值/限制条件 | 分类 | 配置项名称 | 说明 |
表名长度 | 128字节 | 长度限制 | 表名,列名中不能有特殊字符,只能用英文的a-z,A-Z及数字和下划线_,且以字母开头 | |
注释长度 | 1024字节 | 长度限制 | 注释内容是长度不超过1024字节的有效字符串 | |
表的列定义 | 1200个 | 数量限制 | apsara.odps.meta.column.max | 单表的列定义个数最多1200个 |
单表分区数 | 60000 | 数量限制 | apsara.odps.metastore.ots.MaxPartitions | 一张表最多允许60000个分区 |
表的分区层级 | 6级 | 数量限制 | apsara.odps.meta.part.level.max | 在表中建的分区层次不能超过6级 |
表统计定义个数 | 100个 | 数量限制 | 表统计定义个数 | |
表统计定义长度 | 64000 | 长度限制 | apsara.odps.sql.stat.maxlen | 表统计项定义长度 |
屏显 | 10000行 | 数量限制 | SELECT语句屏显默认最多输出10000行 | |
insert目标个数 | 256个 | 数量限制 | apsara.odps.sql.inserts.max | multiins同时insert的数据表数量 |
UNION ALL | 256个表 | 数量限制 | apsara.odps.sql.unioners.max | 最多允许256个表的UNION ALL |
join源 | 16个 | 数量限制 | apsara.odps.sql.maximum.join | join的源表个数最多运行16个 |
MAPJOIN | 8个小表 | 数量限制 | MAPJOIN最多允许8张小表 | |
MAPJOIN内存限制 | 512M | 数量限制 | apsara.odps.analytic.function.maxexprs | MAPJOIN所有小表的内存限制不能超过512M |
窗口函数 | 5个 | 数量限制 | 一个SELECT中最多允许5个窗口函数 | |
ptinsubq | 1000行 | 数量限制 | pt in subquery返回的结果不可超过1000行 | |
sql语句长度 | 2M | 长度限制 | 允许的sql语句的最大长度 | |
wherer子句条件个数 | 256个 | 数量限制 | where子句中可使用条件个数 | |
列记录长度 | 8M | 数量限制 | 表中单个cell的最大长度 | |
in的参数个数 | 1024 | 数量限制 | in的最大参数限制,如in (1,2,3….,1024)。in(…)如果参数过多,会造成编译时的压力;1024是建议值、不是限制值 | |
jobconf.json | 1M | 长度限制 | jobconf.json的大小为1M。当表包含的Partition数量太多时,可能超过jobconf.json超过1M。 | |
视图 | 不可写 | 操作限制 | 视图不可以写,不可用insert操作 | |
列的数据类 | 不允许 | 操作限制 | 不允许修改列的数据类型,列位置 | |
java udf函数 | 不能是abstract或者static | 操作限制 | java udf函数不能是 abstract 或者 static | |
最多查询分区个数 | 10000 | 数量限制 | 最多查询分区个数不能超过10000 |
备注:以上MaxCompute SQL限制项均不可以被人为修改配置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。