MaxCompute SQL 适用于海量数据(GB、TB、EB 级别),离线批量计算的场合。MaxCompute 作业提交后会有几十秒到数分钟不等的排队调度,所以适合处理跑批作业,一次作业批量处理海量数据,不适合直接对接需要每秒处理几千至数万笔事务的前台业务系统。
MaxCompute SQL 采用的是类似于 SQL 的语法,可以看作是标准 SQL 的子集,但不能因此简单的把 MaxCompute 等价成一个数据库,它在很多方面并不具备数据库的特征,如事务、主键约束、索引等(更多差异请单击进入查看)。目前在 MaxCompute 中允许的最大 SQL 长度是 2MB。
关键字
MaxCompute 将 SQL 语句的关键字作为保留字。在对表、列或是分区命名时如若使用关键字,需给关键字加``
符号进行转义,否则会报错。保留字不区分大小写。下面只给出常用的保留字列表,完整的保留字列表请参阅 MaxCompute SQL 保留字。
% & && ( ) * +
- . / ; < <= <>
= > >= ? ADD ALL ALTER
AND AS ASC BETWEEN BIGINT BOOLEAN BY
CASE CAST COLUMN COMMENT CREATE DESC DISTINCT
DISTRIBUTE DOUBLE DROP ELSE FALSE FROM FULL
GROUP IF IN INSERT INTO IS JOIN
LEFT LIFECYCLE LIKE LIMIT MAPJOIN NOT NULL
ON OR ORDER OUTER OVERWRITE PARTITION RENAME
REPLACE RIGHT RLIKE SELECT SORT STRING TABLE
THEN TOUCH TRUE UNION VIEW WHEN WHERE
MaxCompute SQL 允许数据类型之间的转换,类型转换方式包括:显式类型转换及隐式类型转换。
类型转换说明
显式类型转换
显式类型转换是用 cast 将一种数据类型的值转换为另一种类型的值的行为,在 MaxCompute SQL 中支持的显式类型转换如下:
From/To | Bigint | Double | String | Datetime | Boolean | Decimal |
---|---|---|---|---|---|---|