Spark shuffle文件寻址

为了避免reduce OOM
1):增大Executor shuffle内存比例
2):增大Executor内存(水涨船高)
3):减少拉取数据量
Spark内存管理

1.静态内存管理(spark1.6之前)
1):20%task 运行内存
2):20%内存
0.2 *0.2预留内存
0.2*0.8shuffle内存
3):60%内存
0.6*0.1预留内存
0.6*0.9*0.2序列化内存(持久化)
0.6*0.9*0.8RDD缓存和广播变量内存
4):可以按照图中所示参数配置
2.统一内存管理(spark1.6(包含)之后)
1):相对静态内存管理,把预留内存统一为300M;
2):图中所示是spark1.6内存划分比例,在spark2.0中task运行内存占总内存减去300M的40%;
3):另外的60%的一半用做shuffle聚合内存;另一半用做广播变量和RDD持久化,可以互相内存借用;
网友评论