INFO-Spark任务优化方案

适用模块

spark
离线开发
数据传输

具体说明

**运行优化**  
1、配置合理的executor:以资源换时间,缩短任务执行时间最显著的调整手段  
- spark.executor.memory
- spark.executor.instances

2、配置合理的driver:避免driver频繁GC影响任务执行
- spark.driver.memory
- spark.driver.cores

3、增加task并行度:增加任务执行并行度,变向以资源换时间
- spark.default.parallelism
- spark.sql.shuffle.partitions

4、配置网络超时等待:避免因网络抖动造成任务频繁失败
- spark.network.timeout

5、数据本地化:尽可能实现数据本地化,避免网络传输
- spark.locality.wait

**业务优化**  
数据倾斜:尽可能选择分布均匀的键值进行关联或分区;
- 自定义分区器
- 数据拆分处理
- 空值随机化

使用示例

待补充

作者:林帅