热线电话:13121318867

登录
2018-10-22 阅读量: 832
spark的七个参数分别是什么?

• num-executors:该作业总共需要多少executor进程执行

建议:每个作业运行一般设置5-~100个左右较合适

• executor-memory:设置每个executor进程的内存, num-executors* executor-memory代表作业申请的总内存量(尽量不要超过最大总内存的1/3~1/2)

建议:设置4G~8G较合适

• executor-cores: 每个executor进程的CPU Core数量,该参数决定每个executor进程并行执行task线程的能力,num-executors * executor-cores代表作业申请总CPU core数(不要超过总CPU Core的1/3~1/2 )

建议:设置2~4个较合适

• driver-memory: 设置Driver进程的内存

建议:通常不用设置,一般1G就够了,若出现使用collect算子将RDD数据全部拉取到Driver上处理,就必须确保该值足够大,否则OOM内存溢出

• spark.default.parallelism: 每个stage的默认task数量

建议:设置500~1000较合适,默认一个HDFS的block对应一个task,Spark默认值偏少,这样导致不能充分利用资源

• spark.storage.memoryFraction: 设置RDD持久化数据在executor内存中能占的比例,默认0.6,即默认executor 60%的内存可以保存持久化RDD数据

建议:若有较多的持久化操作,可以设置高些,超出内存的会频繁gc导致运行缓慢

• spark.shuffle.memoryFraction: 聚合操作占executor内存的比例,默认0.2

建议:若持久化操作较少,但shuffle较多时,可以降低持久化内存占比,提高shuffle操作内存占比

0.0000
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子