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

大数据计算MaxCompute这个报错根本原因是资源不够导致的嘛?调参能解决根本问题嘛?

大数据计算MaxCompute这个报错根本原因是资源不够导致的嘛?调参能解决根本问题嘛?ODPS-0010000:System internal error - kWorkerOutOfMemory(errCode:256) at Odps/hh_process_cjzh_zb_der_20240314223106686g0i6vss6_SQL_0_0_0_job_0/M1@401c07108.cloud.c08.am9#299. Detail error msg: KILL_NAKILL_NA: plannedResource({Memory=1024, SInstance=1, CPU=70}) usedResource({Memory=952, CPU=107})

展开
收起
真的很搞笑 2024-03-21 07:45:46 84 0
2 条回答
写回答
取消 提交回答
  • 报错ODPS-0010000:System internal error - kWorkerOutOfMemory表明MaxCompute在执行过程中出现了内存不足的问题。确实,增加资源如增大内存分配可能会解决此问题。但根本上还需要优化SQL查询性能,比如减少数据扫描量、优化JOIN和GROUP BY等操作,以及合理设置SQL参数来提升执行效率。

    2024-03-21 16:20:28
    赞同 展开评论 打赏
  • 参考下:https://help.aliyun.com/zh/maxcompute/user-guide/odps-0010000-1?spm=a2c4g.11186623.0.i243#Pp3NN
    需要调一下

    比如:

    执行MaxCompute SQL过程中,返回报错 :FAILED: ODPS-0010000:System internal error - kWorkerOutOfMemory(errCode:256) at Odps/**_SQL_0_0_0_job_0/M1@k12g10-kangaroo190d658d18f0.sa127#691. Detail error msg: KILL_NAKILL_NA: plannedResource({Memory=1152, SInstance=1, CPU=100}) usedResource({Memory=2510, CPU=156})

    产生原因:
    在作业的运行过程当中,任务的某个节点实际使用的资源超过了计划资源。

    解决措施:
    usedResource({Memory=2510, CPU=100})为实际使用资源的信息、plannedResource({{Memory=1152, SInstance=1, CPU=100})计划用多少资源M1@k12g10-kangaroo190d658d18f0.sa127#691这里可以看到哪个worker上报错,这里就是map阶段报错;

    首先确认计划和实际使用资源差多少和具体哪个works上报错之后,可以根据具体情况进行调参,

    参考报错为例,可以根据报错调mapper的内存(要大于Memory=2510 )
    如:set odps.stage.mapper.mem=3096; mapper的cpu(大于CPU=156)

    map阶段failed,调整map的内存;join阶段failed,调整join的内存; reduce阶段failed,调整reduce的内存;

    调参可以参考:https://help.aliyun.com/zh/maxcompute/user-guide/flag-parameters?spm=a2c4g.11186623.0.i254#concept-2278178 ,此回答整理自钉群“MaxCompute开发者社区2群”

    2024-03-21 09:17:25
    赞同 展开评论 打赏

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

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载