串行跑10个处理1个partition的job和跑1个处理10个partition的job,同样的10个partition,处理的业务逻辑是一样的,只是一个是多路输入输出的,运行时间一样吗?? 因为目前用并行处理是希望节省时间,禁止并发的话,来不及处理。 多个任务会处理同一张表,但是是不同的partition,试验了几次,都是会有部分任务有问题; mapper阶段确实就是并发,但是目前遇到的状况是,并行跑10个job,每个job大概72个parttion,并行跑的时候,每个job任务提交到开始执行挺快的,-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

串行跑10个处理1个partition的job和跑1个处理10个partition的job,同样的10个partition,处理的业务逻辑是一样的,只是一个是多路输入输出的,运行时间一样吗?? 因为目前用并行处理是希望节省时间,禁止并发的话,来不及处理。 多个任务会处理同一张表,但是是不同的partition,试验了几次,都是会有部分任务有问题; mapper阶段确实就是并发,但是目前遇到的状况是,并行跑10个job,每个job大概72个parttion,并行跑的时候,每个job任务提交到开始执行挺快的,

123ya 2017-05-14 22:35:21 1676

串行跑10个处理1个partition的job和跑1个处理10个partition的job,同样的10个partition,处理的业务逻辑是一样的,只是一个是多路输入输出的,运行时间一样吗??
因为目前用并行处理是希望节省时间,禁止并发的话,来不及处理。
多个任务会处理同一张表,但是是不同的partition,试验了几次,都是会有部分任务有问题;
mapper阶段确实就是并发,但是目前遇到的状况是,并行跑10个job,每个job大概72个parttion,并行跑的时候,每个job任务提交到开始执行挺快的,但是如果720个partition放到一个job里面去处理的话,任务提交时间就会非常久,这个任务提交上去到真正开始执行mapreduce的时间,能优化吗?

分布式计算
分享到
取消 提交回答
全部回答(1)
  • 123ya
    2019-07-17 21:10:11

    您好,实际上MaxCompute本身是分布式的,mr的中map和reduce也是并发处理的,用户无须干预。
    另外odps对表的操作不支持并发操作的,因为没有事务的控制,如果您多个任务处理同一个partition很有可能报错。
    处理的速度还是需要您从业务逻辑上优化,以及调节map和reduce的work内存等来调节速度,
    https://help.aliyun.com/document_detail/27834.html?spm=5176.doc35455.6.568.SXtLZy
    您参考其中的set命令,另外,如果是后付费的项目,计算资源如果需要很多可能出现等待的情况,我看您的任务消耗资源还是蛮大的,后付费的项目使用的是公共的计算资源,所以刚开始可能需要等待资源。

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题