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

建设一个网站用什么软件影视网站

建设一个网站用什么软件,影视网站,无锡模板建站,做配资网站多少钱#xff08;一#xff09; 什么情况下发生shuffle 在MapReduce框架中#xff0c;Shuffle是连接Map和Reduce之间的桥梁#xff0c;Map阶段通过shuffle读取数据并输出到对应的Reduce#xff1b;而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中#xff0c…一 什么情况下发生shuffle 在MapReduce框架中Shuffle是连接Map和Reduce之间的桥梁Map阶段通过shuffle读取数据并输出到对应的Reduce而Reduce阶段负责从Map端拉取数据并进行计算。在整个shuffle过程中往往伴随着大量的磁盘和网络I/O。所以shuffle性能的高低也直接决定了整个程序的性能高低。Spark也会有自己的shuffle实现过程。 在Spark中什么情况下会发生shuffle reduceByKey、groupByKey、sortByKey、countByKey、join等操作都会产生shuffle。 Spark的shuffle历经了几个过程 Spark 0.8及以前 使用Hash Based ShuffleSpark 0.8.1 为Hash Based Shuffle引入File Consolidation机制Spark1.6之后使用Sort-Base Shuffle因为Hash Based Shuffle存在一些不足所以就把它替换掉了。 二未优化的Hash Based Shuffle 假设我们是在执行一个reduceByKey之类的操作此时就会产生shuffle。 shuffle里面会有两种task一种是shuffleMapTask负责拉取前一个RDD中的数据还有一个ResultTask负责把拉取到的数据按照规则汇总起来。 1假设有1个节点这个节点上有2个CPU上面运行了4个ShuffleMapTask这样的话其实同时只有2个ShuffleMapTask是并行执行的因为一个cpu core同时只能执行一个ShuffleMapTask。 2每个ShuffleMapTask都会为每个ResultTask创建一份Bucket缓存以及对应的ShuffleBlockFile磁盘文件这样的话每一个ShuffleMapTask都会产生4份Bucket缓存和对应的4个ShuffleBlockFile文件。 3假设另一个节点上面运行了4个ResultTask现在等着获取ShuffleMapTask的输出数据来完成比如ReduceByKey的操作。 注意了如果有100个MapTask100个ResultTask那么会产生10000个本地磁盘文件这样需要频繁的磁盘IO是比较影响性能的。 注意 那个bucket缓存是非常重要的ShuffleMapTask会把所有的数据都写入Bucket缓存之后才会刷写到对应的磁盘文件中但是这就有一个问题如果map 端数据过多那么很容易造成内存溢出所以spark在优化后的Hash Based Shuffle中对这个问题进行了优化默认这个内存缓存是100kb当Bucket中的数据达到了阈值之后就会将数据一点一点地刷写到对应的ShuffleBlockFile磁盘中了。 这种操作的优点是不容易发生内存溢出。缺点在于如果内存缓存过小的话那么可能发生过多的磁盘io操作。所以这里的内存缓存大小是可以根据实际的业务情况进行优化的。 三优化后的Hash Based Shuffle 1假设机器上有2个cpu4个shuffleMaptask这样同时只有2个在并行执行 2在这个版本中Spark引入了consolidation机制一个ShuffleMapTask将数据写入ResultTask数量的本地文件中这个是不变的但是当下一个ShuffleMapTask运行的时候可以直接将数据写入之前产生的本地文件中相当于对多个ShuffleMapTask的输出进行了合并从而大大减少了本地磁盘中文件的数量。 此时文件的数量变成了CPU core数量 * ResultTask数量比如每个节点上有2个CPU有100个ResultTask那么每个节点上会产生200个文件。 但是如果 ResultTask端的并行任务过多的话则 CPU core * Result Task 依旧过大也会产生很多小文件。 四Sort-Based Shuffle 为了让 Spark 能在更大规模的集群上高性能处理大规模的数据因此 Spark 引入了 Sort-Based Shuffle。 该机制针对每一个 ShuffleMapTask 都只创建一个文件将所有的 ShuffleMapTask 的数据都写入同一个文件并且对应生成一个索引文件。 以前的数据是放在内存中等到数据写完了再刷写到磁盘现在为了减少内存的使用在内存不够用的时候可以将内存中的数据溢写到磁盘结束的时候再将这些溢写的文件联合内存中的数据一起进行归并从而减少内存的使用量。一方面文件数量显著减少另一方面减少缓存所占用的内存大小而且同时避免 GC 的风险和频率。
http://www.hkea.cn/news/14370185/

相关文章:

  • 做ps从哪个网站上下载图片大小个人网站栏目设计
  • 如何在手机做网站wd ex4 安装wordpress
  • 网站建设男装定位做资讯网站盈利
  • 大连网站建设咨询口碑好的武进网站建设
  • 杭州市网站制作怎么做网络销售
  • 网站开发专业介绍印章在线制作
  • 在线学习平台网站建设有什么功能企业网站的建设专业服务
  • 好用的软件下载网站seo兼职平台
  • 门户网站建站方案html代码表白烟花特效
  • 东莞网站的优化做网站语言知乎
  • 洮南网站建设哪家好wordpress取消邮件验证码
  • 重庆制作网站软件百度地址如何设置门店地址
  • 三原县城乡建设局网站学校网站建设介绍
  • 网站在线生成器织梦网站版本
  • seo移动网站页面怎么做长春网站制作价格
  • 关于网站开发中网站上传vi设计百科
  • 网站查询备案服务商品牌建设归哪个部门管
  • 网络科技公司网站模板用ps制作网页教程
  • 建筑网站带图解网站购买后如何做
  • 网站的建设会计入哪个科目西宁那有做网站的
  • 做网站哪个公司最好石家庄网站seo顾问
  • 网站关键词快排名做ui什么图库网站好呀
  • 宁夏建设工程质量安全监督网站怎么做qq可信任网站
  • 网站后台用户名密码wordpress内容插件
  • 怎么看一个网站好坏网站等保建设
  • 北京网站排名如何查询网站点击率
  • 网站开发项目对自身的意义网络服务主要包括哪些方面
  • 口碑好网站建设开发vi设计公司哪里
  • 住房与建设部网站崇左网站建设
  • 网站开发案例详解pdf乐从狮山网站建设