当前位置: 首页 > news >正文

网站开发大作业seo综合查询 站长工具

网站开发大作业,seo综合查询 站长工具,如何做好集团网站建设,网站开发公司上海Spark shuffle调优方法 map端和reduce端缓存大小设置,reduce端重试次数和等待时间间隔,以及bypass设置 学习资料:https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ 一、map和reduce端缓冲区大小 1.1 map端 在Spark任务运行过程中&…

Spark shuffle调优方法

map端和reduce端缓存大小设置,reduce端重试次数和等待时间间隔,以及bypass设置
学习资料:https://mp.weixin.qq.com/s/caCk3mM5iXy0FaXCLkDwYQ

一、map和reduce端缓冲区大小

1.1 map端

在Spark任务运行过程中,如果shuffle的map端处理的数据量比较大,但是map端缓冲的大小是固定的,可能会出现map端缓冲数据频繁spill溢写到磁盘文件中的情况,使得性能非常低下。
通过调节map端缓冲的大小,可以避免频繁的磁盘IO操作,进而提升Spark任务的整体性能。


map端缓冲的默认配置是32KB,如果每个task处理640kb数据,那么会发生640/32=20次溢写,如果每个task处理64000KB数据,则发生2000次溢写,这对于性能的影响是非常重要的。
map端缓冲的配置方法

val conf = new SparkConf().set("spark.shuffle.file.buffer", "64")

1.2 reduce端

Spark Shuffle过程中,shuffle reduce task的buffer缓冲区大小决定了reduce task每次能够缓冲的数据量,也就是每次能够拉取的数据量,如果内存资源较为充足,适当增加拉取数据缓冲区的大小,可以减少拉取数据的次数,也就可以减少网络传输的次数,进而提升性能


reduce端数据拉去缓冲区的大小可以通过spark.reducer.maxSizeInFlight设置,默认为48M,设置方法:

val conf = new SparkConf().set("spark.reducer.maxSizeInFlight", "96")

二、reduce端重试次数和等待时间间隔

2.1 重试次数

Spark Shuffle过程中,reduce task拉取属于自己的数据时,如果因为网络异常等原因导致失败会自动进行重试。对于那些包含了特别耗时的shuffle操作的作业,建议增加重试最大次数(比如60次),以避免由于JVM的full gc或者网络不稳定等因素导致的数据拉取失败。在实践中发现,对于针对超大数据量(数十亿~上百亿)的shuffle过程,调节该参数可以大幅度提升稳定性。


reduce端拉取数据重试次数可以通过spark.shuffle.io.maxRetries参数设置,该参数就代表了可以重试的最大次数。如果在指定次数之内拉取还是没有成功,就可能会导致作业执行失败,默认为3,该参数的设置方法如下:

val conf = new SparkConf().set("spark.shuffle.io.maxRetries", "6")

2.2 增大等待时间间隔

Spark Shuffle过程中,reduce task拉取属于自己的数据时,如果因为网络异常等原因导致失败会自动进行重试,在一次失败后,会等待一定的时间间隔再进行重试,可以通过加大间隔时长(比如60s),以增加shuffle操作的稳定性
reduce端拉取数据等待间隔可以通过spark.shuffle.io.retryWait参数进行设置,默认值为5s,该参数的设置方法如下:

val conf = new SparkConf().set("spark.shuffle.io.retryWait", "60s")

三、bypass机制开启阈值

对于SortShuffleManager,如果shuffle reduce task的数量小于某一阈值,则shuffle write过程中不会进行排序操作,而是直接按照未经优化的HashShuffleManager的方式去写数据,但是最后会将每个task产生的所有临时磁盘文件都合并成一个文件,并会创建单独的索引文件。

当使用SortShuffleManager且不需要排序操作,建议将SortShuffleManager参数调大,大于shuffle read task的数量,那么此时map-side就不会进行排序了,减少了排序的性能开销,但是这种方式下,依然会产生大量的磁盘文件,因此shuffle write性能有待提高。


可以通过spark.shuffle.sort.bypassMergeThreshold这个参数设置,默认200。

val conf = new SparkConf().set("spark.shuffle.sort.bypassMergeThreshold", "400")
http://www.zhongyajixie.com/news/33678.html

相关文章:

  • 正规的网站制作哪个好旺道seo怎么优化网站
  • 江门日报官方网站semiconductor
  • 黄浦做网站公司专业地推团队
  • 做网站流量的方法百度官方推广平台
  • 做网站需要参考书目书聚名网官网登录
  • 公司用自己机房做网站备案免费网站推广软文发布
  • o2o是指的是什么seo高手是怎样炼成的
  • 建网站专用网站网站百度seo关键词优化
  • 最好的做任务赚钱网站信息流优化师发展前景
  • 大型集团网站建设百度网站推广电话
  • 建网站公司成都优化seo报价
  • 手机在线做ppt的网站广州网络推广公司
  • 多用户批发商城推广排名seo
  • iis7搭建网站教程seo详细教程
  • 营销型网站建设公司易网拓长沙seo霜天
  • 适合wordpress的主机东莞seo外包
  • 襄阳网站建设公司哪家好网站推广软件免费版大全
  • 做企业网站报价如何加入百度推广
  • 武汉网络营销公司哪家好石家庄seo
  • 网站怎样盗链图片怎么注册网站 个人
  • 有没有做书签的网站如何给公司做网络推广
  • 一台服务器可以做几个网站优化大师安卓版
  • 免费空间有哪些站长工具seo综合查询columbu cat
  • 全网vip影视网站一键搭建html网页制作案例
  • 青岛科技街网站建设关键词优化seo多少钱一年
  • 网站开发的规格描述网站怎么做外链
  • 怎么做代理网站百度一下子就知道了
  • 武威 网站建设怎么发布信息到百度
  • 毕业设计网站设计步骤推广管理
  • 网站开发和设计青岛seo排名扣费