MaxCompute应用限制整理

好多同学在使用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产品钉钉咨询群:

时间: 2024-11-08 17:28:05

MaxCompute应用限制整理的相关文章

阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171122)

  概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速.完全托管的TB/PB级数据仓库解决方案.MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全.本文收录了大量的MaxCompute产品介绍.技术介绍,帮助您快速了解MaxCompute/ODPS. MaxCompute 2.0:阿里巴巴的大数

MaxCompute文章索引

概况介绍: MaxCompute 2.0 生态开放之路及最新发展 10年老兵带你看尽MaxCompute大数据运算挑战与实践 一分钟了解阿里云产品:大数据计算服务MaxCompute概述 数加平台如何通过Serverless 架构实现普惠大数据 淘宝大数据之路 应用案例: 日志分析: 云数据,大计算-海量日志数据分析与应用 <海量日志数据分析与应用>之数据采集 <海量日志数据分析与应用>之社交数据分析:好友推荐 <海量日志数据分析与应用>之报表分析与展现 <海量日

阿里云双11访谈之MaxCompute

摘要:在阿里云双11访谈MaxCompute专场中,MaxCompute资深运营专家祎休为大家简单介绍了阿里云的MaxCompute平台的基本情况,并且为大家分享了MaxCompute如何帮助用户快速架构大数据仓库的. 双11第一波,红包领不停,点击看详情:https://promotion.aliyun.com/ntms/act/pre20171111.html MaxCompute全攻略集:https://yq.aliyun.com/articles/78108 以下内容根据访谈视频整理而成

MaxCompute SQL 现状与展望

票选最美云上大数据暨大数据技术峰会上,阿里云飞天一部高级专家振禹为大家带来题为"MaxCompute SQL 现状与展望"的演讲.本文重点解析了MaxCompute SQL 现状,详细介绍了各种功能,其中包括编译器用户友好功能.复杂类型.CTE.参数化视图和SEMI JION等,接着说明了MaxCompute SQL即将完成与推进中的功能,最后作了简要总结.   以下是精彩内容整理: MaxCompute SQL 现状 目前MaxCompute SQL能力不是很强,虽然在性能.安全和成

MaxCompute 2.0:阿里巴巴的大数据进化之路

本次分享将主要围绕以下三个方面: 阿里云大数据计算服务概述 阿里巴巴数据平台进化之路 MaxCompute 2.0 Moving forward    一.阿里云大数据计算服务概述 阿里巴巴大数据计算服务MaxCompute的前身叫做ODPS,是阿里巴巴内部统一的大数据平台,其实从ODPS到MaxCompute的转变就是整个阿里巴巴大数据平台的演化过程.所以在本次会着重分享阿里巴巴大数据在过去七八年的时间所走过的路以及后续技术发展大方向.   首先做一个基本的定位,大家可以看到下面这张图是一个航

10年老兵带你看尽MaxCompute大数据运算挑战与实践

本文根据阿里云大数据计算平台资深架构师林伟在大流量高并发互联网应用实践在线峰会上题为<MaxCompute大数据运算挑战与实践>的分享整理而成.分享中,他主要介绍了在大数据.大流量.高并发情况下MaxCompute所面临的挑战,以及应对这些挑战的实践经验. 直播视频:点击此处观看 幻灯片地址:点击此处下载 以下为在线分享观点整理. 什么是MaxCompute? 大数据计算服务(MaxCompute,原名ODPS)是一种快速.完全托管的PB/EB级数据仓库解决方案,具备万台服务器扩展能力和跨地域

MaxCompute百问集锦(持续更新)

大数据计算服务(MaxCompute,原名 ODPS,https://www.aliyun.com/product/odps)是一种快速.完全托管的 GB/TB/PB 级数据仓库解决方案.MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全.同时,大数据开发套件和MaxCompute关系紧密,大数据开发套件为 MaxCompute 提供了一站式的数据同步,任务开发,数据工作流开发,数据管理和数据运

用Java代码调用MaxCompute

MaxCompute的客户端的工具odpscmd是好东西,什么都能干.但是它不方便在自己的代码做很好的集成,毕竟它是个Shell脚本.那有什么办法把MaxCompute的作业.设置和自己的代码做无缝集成呢,MaxComput SDK就能干这个.本文就实际的工作中最常见的几个场景,做一些示例.详细的使用可以在Maven上下到SDK的文档说明. 其实这里面的很多写法都是文档里有的,或者在帮助文档里有写过类似的例子.这里就做算是做个整理吧. 对象操作 其实官方的SDK文档里,对这方面的介绍是最多的了,

MaxCompute帮助创业公司中减轻MySQL存储压力

从0到1 在我们公司初创的时候,组齐了三人的团队就开始做产品研发.当时整条业务线的东西都需要我们自己写,要在短时间内把东西做出来,效率是非常关键的. 我们的产品模式本身其实是需要验证的.创业有很多不确定性,在上线之前没人能知道,我们的一个项目究竟能达到多大的规模,能做到什么样.所以这时技术的重要性就在于快速把东西做出来. Why Java? 我们最终选择Java,一方面是因为我们团队已经有了一定的写Java的基础,从最开始的搭建到后来初具规模也能Hold住,基数很稳:另一方面是因为Java有很大