开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

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

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

展开
收起
真的很搞笑 2023-03-29 10:35:29 154 0
2 条回答
写回答
取消 提交回答
  • 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群”

    2023-03-30 11:27:27
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

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

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

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

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

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

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

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

    2023-03-29 10:41:21
    赞同 展开评论 打赏

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载