|
|
|
@ -600,3 +600,15 @@ spark.shuffle.io.retryWait 5s
|
|
|
|
|
1.在程序中找到产生shuffle得算子
|
|
|
|
|
|
|
|
|
|
2.看log,log一般会报你的哪一行代码,导致OOM异常,看看执行到第几个stage。
|
|
|
|
|
### 数据倾斜解决方案之聚合源数据
|
|
|
|
|
解决数据倾斜的方案:
|
|
|
|
|
|
|
|
|
|
1.聚合源数据
|
|
|
|
|
|
|
|
|
|
2.过滤导致倾斜的Key
|
|
|
|
|
|
|
|
|
|
聚合源数据的思路:
|
|
|
|
|
|
|
|
|
|
spark作业的数据来源,通常是从hive表。对于spark作业的输入源头,可以将同一key的数据进行拼接,对于这种操作,之后可能就没有shuffle操作了,何来数据倾斜?
|
|
|
|
|
|
|
|
|
|
如果没法对每一个key进行聚合出来一条数据。可以对于数据进行粗粒度的聚合,比如根据时间或者地域进行聚合,尽量去聚合,减少每个key的数量,也许聚合到比较粗的粒度后,原来的数据减少了,减轻了数据倾斜的现象和问题。
|
|
|
|
|