本文为您介绍基于Dataphin使用MaxCompute SQL的限制项。
限制项 | 最大值/限制条件 | 分类 | 说明 |
---|---|---|---|
表名长度 | 128字节 | 长度限制 | 表名、列名中不能有特殊字符,以字母开头,且只能用英文小写字母(a-z)、英文大写字母(A-Z)、数字和下划线(_)。 |
注释长度 | 1024字节 | 长度限制 | 长度不超过1024字节的有效字符串。 |
表的列定义 | 1200个 | 数量限制 | 单表的列定义个数最多为1200个。 |
单表分区数 | 60000个 | 数量限制 | 单表的分区个数最多为60000个。 |
表的分区层级 | 6级 | 数量限制 | 在表中创建的分区层次不能超过6级。 |
屏显 | 10000行 | 数量限制 | SELECT语句屏显最多输出10000行。 |
INSERT 目标个数
|
256个 | 数量限制 | MULTI-INSERT 场景,目标表的数量限制为256个。
|
UNION ALL |
256个 | 数量限制 | UNION ALL 场景,最多允许合并256个表。
|
MAPJOIN |
128个 | 数量限制 | MAPJOIN 场景,最多允许连接128个小表。
|
MAPJOIN 内存限制
|
512 MB | 数量限制 | MAPJOIN 场景,所有小表的内存不能超过512 MB。
|
窗口函数 | 5个 | 数量限制 | 单个SELECT语句中最多允许存在5个窗口函数。 |
ptinsubq |
1000行 | 数量限制 | 子查询中存在分区列时,子查询的返回结果不能超过1000行。 |
SQL语句长度 | 2 MB | 长度限制 | SQL语句的最大长度为2 MB。包括您使用SDK调用SQL的场景。 |
WHERE 子句条件个数
|
256个 | 数量限制 | WHERE 子句中的条件个数最大为256个。
|
列记录长度 | 8 MB | 数量限制 | 表中单个单元的最大长度为8 MB。 |
IN的参数个数 | 1024 | 数量限制 | IN的最大参数限制,例如in (1,2,3….,1024) 。如果in(…) 的参数过多,会影响编译性能。1024为建议值,不是限制值。
|
jobconf.json |
1 MB | 长度限制 | jobconf.json 的大小为1 MB。当表包含的分区数量较多时,大小可能超过jobconf.json ,超过1 MB。
|
视图 | 不可写 | 操作限制 | 视图不支持写入,不支持INSERT 操作。
|
列的数据类型 | 不可修改 | 操作限制 | 不允许修改列的数据类型及列位置。 |
Java UDF函数 | 不允许为ABSTRACT 或者STATIC 。
|
操作限制 | Java UDF函数不能为ABSTRACT 或STATIC 。
|
最多查询分区个数 | 10000个 | 数量限制 | 最多查询分区个数不能超过10000个。 |
SQL执行计划长度 | 1 MB | 长度限制 | MaxCompute SQL生成的执行计划不能超过1 MB,否则会触发FAILED: ODPS-0010000:System internal error - The Size of Plan is too large 报错。
|
说明 上述MaxCompute SQL限制项均无法修改。