在大数据计算MaxCompute中,https://logview.aliyun.com/logview/?h=http://service.cn-s...LCJWZXJzaW9uIjoiMSJ9 这个任务执行很慢,大表关联小表,获取前13个月的数据,大表有5000万表,小表268万,已经加mapjoin了
内存也加了,需要快10分钟,才计算出来,有其他优化空间吗?
在大数据计算MaxCompute中,如果任务执行很慢,可以考虑以下优化方法:
增加分区数:根据数据量和查询需求,适当增加大表和小表的分区数,以提高查询性能。
使用索引:为大表的关键字段创建索引,以加速查询速度。
调整mapjoin参数:根据实际需求,调整mapjoin的参数,如内存分配、并行度等,以提高查询性能。
优化SQL语句:检查SQL语句是否存在性能瓶颈,如子查询、连接操作等,尝试优化这些部分。
分批处理:将大表关联小表的操作分批进行,每次处理一部分数据,避免一次性处理大量数据导致内存不足或查询超时。
考虑使用其他大数据工具:如果以上方法仍无法满足性能需求,可以考虑使用其他大数据工具,如Hive、Impala等,它们可能提供更好的性能优化支持。
可以把这个参数odps.sql.mapper.split.size 调小一些,让map阶段的并发大一些
https://help.aliyun.com/zh/maxcompute/use-cases/optimize-sql-statements?spm=a2c4g.11186623.0.i12 此回答来自钉群“MaxCompute开发者社区1群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。