串行跑10个处理1个partition的job和跑1个处理10个partition的job,同样的10个partition,处理的业务逻辑是一样的,只是一个是多路输入输出的,运行时间一样吗??
因为目前用并行处理是希望节省时间,禁止并发的话,来不及处理。
多个任务会处理同一张表,但是是不同的partition,试验了几次,都是会有部分任务有问题;
mapper阶段确实就是并发,但是目前遇到的状况是,并行跑10个job,每个job大概72个parttion,并行跑的时候,每个job任务提交到开始执行挺快的,但是如果720个partition放到一个job里面去处理的话,任务提交时间就会非常久,这个任务提交上去到真正开始执行mapreduce的时间,能优化吗?
您好,实际上MaxCompute本身是分布式的,mr的中map和reduce也是并发处理的,用户无须干预。
另外odps对表的操作不支持并发操作的,因为没有事务的控制,如果您多个任务处理同一个partition很有可能报错。
处理的速度还是需要您从业务逻辑上优化,以及调节map和reduce的work内存等来调节速度,
https://help.aliyun.com/document_detail/27834.html?spm=5176.doc35455.6.568.SXtLZy
您参考其中的set命令,另外,如果是后付费的项目,计算资源如果需要很多可能出现等待的情况,我看您的任务消耗资源还是蛮大的,后付费的项目使用的是公共的计算资源,所以刚开始可能需要等待资源。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。