大数据计算MaxCompute这是发生数据倾斜了吗? 我的sql如下set odps.sql.unstructured.oss.commit.mode =true;
set odps.sql.mapper.split.size=256;
set odps.sql.metering.value.max=1500;
set odps.stage.mapper.mem = 2048;
set odps.stage.mapper.jvm.mem = 4096;
insert OVERWRITE TABLE dwd_oss_risk3_service_et_di PARTITION(pt,country,app_type)
select * from dwd_risk3_service_et_di
where app_type !='third'
and pt<'2024-03-01'
and pt>='2024-02-01'
这是报错信息
根据您提供的SQL语句和报错信息,无法确定是否发生了数据倾斜。数据倾斜是指数据在分布式计算过程中不均匀地分布在各个节点上,导致某些节点处理的数据量过大而其他节点处理的数据量过小,从而影响整体的计算效率。
要判断是否发生了数据倾斜,需要查看具体的报错信息以及集群的资源使用情况。通常,数据倾斜会导致某些节点的CPU、内存或磁盘I/O等资源被大量占用,从而导致作业运行时间延长或失败。
建议您检查MaxCompute的日志和监控信息,以获取更多关于数据倾斜的详细信息。此外,您还可以尝试调整SQL语句中的分区键、过滤条件或优化查询逻辑,以减少数据倾斜的可能性。
oom了。调整一下这几个flag
set odps.stage.mapper.mem=8192; // 默认2048
set odps.stage.reducer.mem=8192; // 默认2048
set odps.stage.joiner.mem=8192; // 默认2048
少用udf或者不用,这几个值最大可以设置到12288
如果还不行,就只能单独导入了。你的数据量太大了。还不行就试试加点reduce.num 的数量,set odps.stage.reducer.num =xxx; ,此回答整理自钉群“MaxCompute开发者社区2群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。