189 8069 5689

Spark的核心调优参数是什么-创新互联

Spark的核心调优参数是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

10多年的兴宁网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整兴宁建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“兴宁网站设计”,“兴宁网站推广”以来,每个客户项目都认真落实执行。

Spark的核心调优参数到都有哪些

num-executors:

该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申请资源时,YARN集群管理器会尽可能按照你的设置来在集群的各个工作节点上,启动相应数量的Executor进程。这个参数非常之重要,如果不设置的话,默认只会给你启动少量的Executor进程,此时你的Spark作业的运行速度是非常慢的。(建议50~100个左右的Executor进程)

executor-memory:

该参数用于设置每个Executor进程的内存。Executor内存的大小,很多时候直接决定了Spark作业的性能,而且跟常见的JVMOOM异常,也有直接的关联。(根据作业大小不同,建议设置4G~8G,num-executors乘以executor-memory,是不能超过队列的较大内存量的)

executor-cores:

该参数用于设置每个Executor进程的CPUcore数量。这个参数决定了每个Executor进程并行执行task线程的能力。因为每个CPUcore同一时间只能执行一个task线程,因此每个Executor进程的CPUcore数量越多,越能够快速地执行完分配给自己的所有task线程。(建议设置为2~4个,且num-executors*executor-cores不要超过队列总CPUcore的1/3~1/2)

driver-memory:

该参数用于设置Driver进程的内存(建议设置512M到1G)。

spark.default.parallelism:

该参数用于设置每个stage的默认task数量。这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。(建议为50~500左右,缺省情况下Spark自己根据底层HDFS的block数量来设置task的数量,默认是一个HDFSblock对应一个task。Spark官网建议设置该参数为num-executors*executor-cores的2~3倍较为合适)

spark.storage.memoryFraction:

该参数用于设置RDD持久化数据在Executor内存中能占的比例,默认是0.6(原则上是尽可能保证数据能够全部在内存中,但如果发现作业发生频繁的GC,就该考虑是否调小)

spark.shuffle.memoryFraction:

该参数用于设置shuffle过程中一个task拉取到上个stage的task的输出后,进行聚合操作时能够使用的Executor内存的比例,默认是0.2。也就是说,Executor默认只有20%的内存用来进行该操作。shuffle操作在进行聚合时,如果发现使用的内存超出了这个20%的限制,那么多余的数据就会溢写到磁盘文件中去,此时就会极大地降低性能。(shuffle操作较多时,建议降低持久化操作的内存占比,提高shuffle操作的内存占比比例,避免shuffle过程中数据过多时内存不够用,必须溢写到磁盘上,降低了性能)

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联网站建设公司,的支持。


本文名称:Spark的核心调优参数是什么-创新互联
文章来源:http://cdxtjz.com/article/dsgehp.html

其他资讯