开发者社区> 问答> 正文

MaxCompute用户指南:SQL:SQL限制项汇总



一些用户因没注意限制条件,业务启动后才发现限制条件,导致业务停止。为避免此类现象发生,方便用户查看,本文将对 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.maxmultiins同时insert的数据表数量
UNION ALL256个表数量限制apsara.odps.sql.unioners.max最多允许256个表的UNION ALL
join源16个数量限制apsara.odps.sql.maximum.joinjoin的源表个数最多运行16个
MAPJOIN         8个小表数量限制MAPJOIN最多允许8张小表
MAPJOIN内存限制512M数量限制apsara.odps.analytic.function.maxexprsMAPJOIN所有小表的内存限制不能超过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.json1M长度限制jobconf.json的大小为1M。当表包含的Partition数量太多时,可能超过jobconf.json超过1M。
视图不可写操作限制视图不可以写,不可用insert操作
列的数据类不允许操作限制不允许修改列的数据类型,列位置
java udf函数不能是abstract或者static操作限制java udf函数不能是 abstract 或者 static
最多查询分区个数10000数量限制最多查询分区个数不能超过10000

备注:以上MaxCompute SQL限制项均不可以被人为修改配置。

展开
收起
行者武松 2017-10-23 17:26:18 2344 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载