发现有个部分卡住在 80% 然后我就想等,过一会发现 也没报错,任务自动从头开始跑了 ;[阿里云MaxCompute]

大佬 现在MaxCompute排查任务为什么跑的慢?我把代码注释了很多,一部分一部分测试,发现有个部分卡住在 80% 然后我就想等,过一会发现 也没报错,任务自动从头开始跑了 ; 没报错 为啥会自动重跑呢?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. Fuxi Job的两种作业类型:Online Job(service mode)和Offline Job 两种类型作业的主要差异: 对于Offline的作业而言,当每次提交作业时在Fuxi上都会有一个环境准备的时间. 对于大数据量并且不需要返回查询结果的作业比较合适。 而对于小数据量并且实时作业要求比较高的作业是不合适的。 所以Fuxi提供了ServiceMode这种准实时的作业形式,也是online job,首先会有一个服务去预先申请计算一些资源并加载出来,比如会预先分配一 万个instance,当有作业提交过来的时候会根据作业规模分配一些Instance进行执行,这样就省去环境准备的时间,所以就会比较快。 如果service mode 失败,比如instance 个数超过1000,或者运行超过10分钟,就会退回以Offline模式重跑。 如果想一开始就跑offline,可以set odps.service.mode=off; 这样就直接跑完了,不会再跑online,此回答整理自钉群“MaxCompute开发者社区1群”

  2. MaxCompute任务跑得慢可能有多种原因,比如数据量大、资源不足、代码优化等等。针对你提到的任务卡在80%的情况,可能是因为该部分代码存在某些问题导致无法顺利执行完成。而任务自动从头开始跑的情况,可能是因为任务出现了某些异常情况,导致MaxCompute自动对任务进行了重跑。

    关于这个问题,你可以尝试以下方法进行排查:

    1、检查任务日志,查看任务是否存在异常情况,比如资源超限等。如果存在异常情况,需要根据日志进行相应的调整。

    2、尝试优化代码,比如优化查询语句、增加分区等等,以提高任务的执行效率。

    3、可以在任务提交时添加”-resume”参数,这样任务在出现异常后会自动从上次失败的点继续执行,避免重头开始执行。

    4、如果任务仍然存在问题,可以尝试联系MaxCompute技术支持人员进行咨询,以获取更详细的排查思路和方法。

    总之,MaxCompute任务跑得慢可能有多种原因,需要结合具体情况进行排查并采取相应的解决措施。