大数据计算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})
报错ODPS-0010000:System internal error - kWorkerOutOfMemory
表明MaxCompute在执行过程中出现了内存不足的问题。确实,增加资源如增大内存分配可能会解决此问题。但根本上还需要优化SQL查询性能,比如减少数据扫描量、优化JOIN和GROUP BY等操作,以及合理设置SQL参数来提升执行效率。
参考下: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群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。