长尾MaxCompute计算长尾问题优化https://help.aliyun.com/zh/maxcompute/videos/maxcompute-long-tail-computing-optimization?spm=a2c4g.11186623.0.i54
长尾问题是分布式计算里最常见的问题之一,也是典型的疑难杂症。究其原因,是因为数据分布不均,导致各个节点的工作量不同,整个任务就需要等最慢的节点完成才能完成。处理这类问题的思路就是把工作分给多个Worker去执行,而不是一个Worker单独抗下最重的那份工作。
导致长尾的原因:某些 instance(可能是map, 也可能是reduce) 处理的数据量远远超过其他 instance 处理的数据量,这些instance的运行时长远远超过其他instance的平均运行时长,导致整个任务运行时间超长,造成任务延迟。
——参考链接。
长尾问题在分布式计算中非常常见,也是一个典型的疑难杂症。该问题的根本原因是数据分布不均,导致各个节点的工作量不同,整个任务就需要等待最慢的节点完成才能结束。处理长尾问题的一种有效方式是将工作分派给多个Worker进行执行,而不是让一个Worker单独承担最重的工作量。此外,如果遇到Join操作时出现某个Key里的数据特别多的情况,也可能出现长尾问题。在这种情况下,可以考虑使用Mapjoin对小表进行缓存以优化性能。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。