刚刚顺畅苟过了阿里ACP, 首要温习战略是屡次了解阿里云供给大数据官方教程,官方文档,并对中心环境做总结。
社区关于温习提纲的内容以及比较详细了,这儿整理下存在要害细节的考点,也给我们一些参阅。
要害数字:
- 单表分区层级最多6级。单表分区数最多答应60000个分区。一次查询最多查询分区数为10000个分区。
- MaxCompute支撑上传的单个资源巨细上限为500MB,
- 当运用Select句子屏显时,现在最多只能显现10000行成果
- 单个SQL中最多能够写256路输出,
- MaxCompute在MapJoin中最多支撑指定8张小表,不然报语法错误。假如运用MapJoin,则一切小表占用的内存总和不得超越512MB。
- 称号的长度不超越128字节。一张表最多答应60000个分区,单表的分区层次不能超越6级。注释内容是长度不超越1024字节的有用字符串
- 表的最大列数为1200列。
sql语法:
Q:在 MaxCompute SQL 履行过程中,报错为Table xx has n columns, but query has m columns。
A:MaxCompute SQL 运用 INSERT INTO/OVERWRITE TABLE XXX SELECT 刺进数据时,需求确保 SELECT查询出来的字段和刺进的表的字段,包含次序、字段类型都能匹配,当然总的字段数量上也要能对的上。
现在 MaxCompute 不支撑指定刺进表中某几个字段,其他字段为 NULL 或许其他默认值的状况,您能够在 SELECT 的时分设置成 NULL,例如:SELECT ‘a’,NULL FROM XX。
Q:用insert into…values...句子刺进表记载报错,请问怎么向 MaxCompute 表中刺进记载?
A:向 MaxCompute 表中刺进记载的操作过程如下:
创立一个表, 例如 dual 表。句子如下:
createtabledual(cntbigint);
insertintotabledualselectcount(*) as cnt from dual;
履行完上述句子便生成了一张有 1 条记载的 dual 表。
履行下述句子,即可向 MaxCompute 表中刺进记载。
insert into table xxxx select 1,2,3 from dual;
Q:用insert into partition时,假如分区不存在,怎么操作
A: 用insert into partition时,假如分区不存在,怎么会主动创立分区
- 分布式环境下,运用动态分区功用的SQL中,单个进程最多只能输出512个动态分区,不然会引发运转时反常。
- 动态生成的分区值不答应为NULL,也不支撑含特别字符和中文,不然会引发运转时反常FAILED: ODPS-0123031:Partition exception - invalid dynamic partition value: province=xxx。
- 假如方针表有多级分区,在运转INSERT句子时答应指定部分分区为静态,可是静态分区有必要是高档分区
- MaxCompute 1.0在进行动态分区时,假如分区列的类型与对应SELECT列表中列的类型不严厉共同,会发作报错。MaxCompute 2.0则支撑隐式类型转化。
发表评论