文档章节

MaxCompute应用限制整理

_夜枫
 _夜枫
发布于 2017/03/23 21:08
字数 994
阅读 33
收藏 0

好多同学在使用MaxCompute时,对产品的应用限制并不了解。这里,我们将给出MaxCompute产品的详细应用限制列表。如有遗漏,还请大家补充:

 

 

  • 命名规范:原则上,项目(Project),表(Table),函数(Function),资源(Resource),分区(Partition),列的名称都不能有特殊字符,只能用英文的a-z,A-Z及数字和下划线_,且以字母开头,名称的长度不超过128字节。实际情况可能会略有不同,但我们仍然建议您遵循这个原则进行命名。
  • Task并发度控制:通常情况下,MaxCompute会在项目级别做Task并发度控制,任意项目下,用户在同一时刻最多只能提交1000个Task。对于Graph及部分MPI类型的PAI作业,最大只允许1000个进程的作业。
  • 列限制:表string列内容长度不允许超过8MB;
  • SQL:
    • 多路输出限制:单个SQL里最多可以写128路输出,超过128路报语法错误;
    • 动态输出分区限制:任意动态分区SQL不允许生成超过2000个动态分区,否则引发运行时异常;
    • Select屏显限制:Select屏显结果最多只有10000条输出;
    • Order by语句后必须接Limit;
    • Sort By必须与Distribute By配合使用;
    • 最多允许128路union all,超过此限制报语法错误;
    • MaxCompute 的JOIN支持多路间接,但不支持笛卡尔积,即无on条件的链接;
    • MaxCompute中的Join连接条件,只允许and连接的等值条件,并且最多支持16路join操作。只有在MAPJOIN中,可以使用不等值连接或者使用or连接多个条件;
    • 目前MaxCompute 在mapjoin中最多支持指定6张小表,否则报语法错误;
    • 如果使用mapjoin,则所有小表占用的内存总和不得超过512MB。请注意由于MaxCompute 是压缩存储,因此小表在被加载到内存后,数据大小会急剧膨胀。此处的512MB限制是加载到内存后的空间大小;
    • 多个表join时,最左边的两个表不能同时是mapjoin的表;
  • MapReduce限制:
    • 单个任务引用的资源数量不超过512个,分区表按照一个单位计算。
    • 单个任务引用的资源总计字节数大小不超过64MB。
    • 单个任务的输入路数不能超过128,单个任务的输出路数不能超过128路。
    • 单个任务中自定义Counter的数量不能超过64。
    • 单个Map或Reduce Worker占用memory默认为2048MB,范围[256MB, 12GB]。
    • 单个Map或Reduce Worker重复读一个资源次数限制 <=64次。
    • 本地运行模式下,Map Worker个数不能超过100;Reduce Worker个数不能超过100;默认一路输入下载记录数100。
  • Graph应用限制:
    • 单个job引用的resource数量不超过256个,Table、Archive按照一个单位计算;
    • 单个job引用的resource总计字节数大小不超过512M;
    • 单个job的输入路数不能超过1024(输入表的个数不能超过64),单个job的输出路数不能超过256;
    • 多路输出中指定的label不能为null或者为空字符串,长度不能超过256,只能包括A-Z,a-z,0-9,_,#,.,-等;
    • 单个job中自定义counter的数量不能超过64,counter的group name和counter name中不能带有#,两者长度和不能超过100;
    • 单个job的worker数由框架计算得出,最大为 1000, 超过抛异常;
    • 单个worker占用cpu默认为200,范围[50, 800];
    • 单个worker占用memory默认为4096,范围[256M, 12G];
    • 单个worker重复读一个resource次数限制不大于64次;
    • split size默认为64M,用户可设置,范围:0 < split_size <= (9223372036854775807 >> 20);
  • Java沙箱限制请参考 这里

了解更多信息,请加入MaxCompute产品钉钉咨询群:

 

22b57910b48c9c05356eae7bfe98969732eb3549

本文转载自:https://yq.aliyun.com/articles/62576

_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
私信 提问
阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林
2017/05/05
0
0
MaxCompute常见问题(2019.04新版)

计量计费 购买开通 MaxCompute计费常见问题 现在公司有数据统计分析的需求,已经在用RDS数据库,还应该开通什么服务? 从MaxCompute上下载数据,使用华东2的ECS云主机使用内网,收取流量费用...

云花
04/09
0
0
MaxCompute Spark开发指南

概述 本文档面向需要使用MaxCompute Spark进行开发的用户使用。本指南主要适用于具备有Spark开发经验的开发人员。 MaxCompute Spark是MaxCompute提供的兼容开源的Spark计算服务,它在统一的计...

zhaowei121
03/11
9
0
MaxCompute - ODPS重装上阵 第三弹 - 复杂类型

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提...

阿里云云栖社区
2018/01/12
39
0
MaxCompute - ODPS重装上阵 第二弹 - 新的基本数据类型与内建函数

摘要: MaxCompute(原ODPS)是阿里云自主研发的具有业界领先水平的分布式大数据处理平台, 尤其在集团内部得到广泛应用,支撑了多个BU的核心业务。 MaxCompute除了持续优化性能外,也致力于提...

阿里云云栖社区
2018/01/11
22
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
6
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
1K
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部