数据倾斜

main
Oeljeklaus 7 years ago committed by GitHub
parent 9b941000b4
commit 7bcb73350c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -579,3 +579,24 @@ spark.shuffle.io.retryWait 5s
2.通过算子获取一个RDD后可以通过一些过滤操作进行数据过滤。
3.可以使用压缩算子提前性能。
## 数据倾斜
### 数据倾斜解决方案之原理以及现象分析
1.数据倾斜的原理
spark进行shuffle时由于数据分配不均匀导致某个Task的数据过大这个Task运行时间过长这就是数据倾斜。
2.数据倾斜的现象
spark数据倾斜有两种表现:
1.大部分的task都执行的特别特别快有几个task执行的特别特别慢前面的task一般1s可以执行完5个后面发现1000个task999task要执行1小时或者2小时才能执行完一个task
2.运行的时候其他task执行造成没有什么问题但是有的task就突然出现OOMtask failedtask lost反复执行几次都是某个task跑不通最后挂掉。
3.数据倾斜的产生原因与定位
根据log去定位出现出现数据倾斜的原因基本只可能因为出现了shuffle操作的在shuffle的过程中出现了数据倾斜的问题。因为某个或者某些key对应的数据远高于其他key。
1.在程序中找到产生shuffle得算子
2.看loglog一般会报你的哪一行代码导致OOM异常看看执行到第几个stage。

Loading…
Cancel
Save