1、成本考虑
- 重要且紧急的,优先级高
- 重要不紧急,等人力空闲再优化
2、优化方向
2.1、参数优化(优先)
2.1.1 读取相关
// 使用scan hive方式读取hive表时,调小maxsize,可增大读取的task任务数
spark.hadoop.mapreduce.input.fileinputformat.split.maxsize 67108864
spark.hadoop.mapreduce.input.fileinputformat.split.minsize 1
2.1.2 driver端相关
// yarn cluster模式下,如果task任务数较多,增大driver的内存和核数,有利于减轻driver压力
spark.driver.memory 8G
spark.driver.cores 4
2.1.3 使用广播变量消除join
// 调大广播变量为50M, 使原本join变成走广播变量方式
spark.sql.autoBroadcastJoinThreshold = 52,428,800
2.1.4 增大executor内存
// 如果发现executor的存在spill 到内存,磁盘,可增大此参数
spark.executor.memory = xxx
2.2