赞
踩
Spark sql数据倾斜
原因: 数据分布不均匀,某一个数据值 过多。
数据倾斜指的是,并行处理海量数据过程中,某个或者某些分区的数据显著多于其他分区,从而使得该部分的处理速度成为整个数据集处理的瓶颈。
方案: 把数据打散
抽数时发生数据倾斜
背景
oracle数据增量抽取: 抽取昨天更新的记录
索引 last_modify_date
select * from table a
where last_modify_date >= to_date('${bizDate10}','YYYY-MM-DD HH24:MI:SS')
and last_modify_date < to_date('${bizDate10}+1','YYYY-MM-DD HH24:MI:SS')
报错:
Executor lost、OutOfMemoryError(OOM) 连接超时
优化1 : 拆成24小时
优化2 : 增加where 条件,mod(主键,7)=‘${a}’
select * from table a
where last_modify_date >= to_date('${bizDate10}','YYYY-MM-DD HH24:MI:SS')
and last_modify_date < to_date('${bizDate10}+1','YYYY-MM-DD HH24:MI:SS')
and mod(id,7)='${a}'
优化3 : 增加where 条件,ORA_hash(rowid,7)=‘${a}’
select * from table a
where last_modify_date >= to_date(
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。