spark 出现很严重的数据倾斜,跑批时间很长,有时候会报错

目前在开发一个统计指标的脚本,跑批出现了严重的数据倾斜,
图片说明

有时候报java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE,但是分析sql里用到的key,在之前的商户号作为key的时候,差别也是最多的几百条,最少的几条,但是几百条的居多,以商户号和维度类别作为key的时候,分布如下

key条数正数5个
+---+---------------+--------------+
| 条数| merchant_id|statistic_type|
+---+---------------+--------------+
| 5| null| 5|
| 4|822100047220249| 5|
| 4|303300048120004| 5|
| 4|303450053310001| 5|
| 4|303650058130002| 5|
+---+---------------+--------------+

key条数倒数5个
+---+---------------+--------------+
| 条数| merchant_id|statistic_type|
+---+---------------+--------------+
| 1|822100051310533| 6|
| 1|822100059630118| 6|
| 1|822100052512420| 6|
| 1|822100055411357| 6|
| 1|822100058124973| 6|
+---+---------------+--------------+

,可是再task里,大部分都平均,就有某一个task数据量是其他的1000倍左右,看起来不像我group by的key分布不均导致的,请教各位大神,这是什么原因导致的?

1个回答

你会不会是,某个物理节点物理空间满了?导致这个增多或者减少的问题

找到下面这个链接似乎靠谱点:

https://www.cnblogs.com/cssdongl/p/6594298.html

可以尝试调整并行度,将节点资源变大或者减小

zhw1058
monster-s 物理空间应该没有满,节点512G存储,现在还剩很多
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问