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

产品网站开发流程图网站申请流程

产品网站开发流程图,网站申请流程,1元建网站,怎样建设邮箱网站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.hengruixuexiao.com/news/47925.html

相关文章:

  • 域名注册网站建设网络实名茂名网络推广
  • 最好网页游戏网站网络营销策略分析论文
  • wordpress前端页面我们seo
  • 百度上如何做企业网站网络营销好不好
  • 常州网站建设百科现在怎么做网络推广
  • 网站建设属于什么职位沈阳专业关键词推广
  • 网站营销信息长春做网站推广的公司
  • 三河市建设局网站免费推广论坛
  • 山东省建设厅网站维护电话百度官方电话
  • 建设部网站不支持360软文营销范文100字
  • 做公司网站自助快速建站
  • 网站如何做担保交易百度运营优化师
  • 网站滚动效果怎么做最新新闻热点话题
  • 网店装修教程免费模板优化网络推广外包
  • 关于网站建设的通知搜索引擎优化的核心及内容
  • 用vs2012做asp网站在线外链工具
  • 网站跟别的做的一样的长沙seo优化服务
  • c#网站开发 pdfseo导航
  • 市场营销毕业后做什么工作怎么优化网站性能
  • 怎么设网站网店怎么推广和宣传
  • 济南网站建设和维护中国免费网站服务器下载
  • 八戒八戒在线观看免费完整版seo和sem的区别是什么?
  • 怎么看一个网站做没做竞价关键词优化骗局
  • 广东潮阳疫情天津网站优化
  • 宁波网站推广网站优化百度建站云南服务中心
  • 微信哪里可以做视频网站最新战争新闻事件今天
  • 作网站关键词优化举例
  • 百度推广要自己做网站吗网站设计模板
  • 企业网站系统知名品牌营销案例100例
  • 梅州市住房和城乡建设局网站长沙靠谱seo优化价格