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

长安网站制作四川在线城市论坛

长安网站制作,四川在线城市论坛,国内十大网站建设品牌,六安app开发公司切片机制 默认的切片大小和块大小一致#xff0c;切片的个数决定了MapTask的个数。 数据倾斜问题#xff1a;如果某个切片的大小太小#xff0c;会浪费了MapTask申请的CPU资源。 如果剩余数据长度大于128*1.1, 就切片成2份#xff0c;否则就不进行切分了。 InputFormat基…切片机制 默认的切片大小和块大小一致切片的个数决定了MapTask的个数。 数据倾斜问题如果某个切片的大小太小会浪费了MapTask申请的CPU资源。 如果剩余数据长度大于128*1.1, 就切片成2份否则就不进行切分了。 InputFormat基类 TextInputFormatTextInputFormat是默认的FileInputFormat实现类。按行读取每条记录。键是存储该行在整个文件中的起始字节偏移量 LongWritable类型。 CombineTextInputFormatCombineTextInputFormat用于小文件过多的场景它可以将多个小文件从逻辑上规划到一个切片中这样多个小文件就可以交给一个MapTask处理。 CombineTextInputFormat切片机制 虚拟存储过程将输入目录下所有文件大小依次和设置的setMaxInputSplitSize值比较 小于maxSplitSize逻辑上划分1块大于2*maxSplitSize以最大值划分一块介于之间时均分为2块 切片过程 判断虚拟文件大小是否大于max切片大小大于时单独形成一个切片小于时跟下一个虚拟存储文件进行合并共同形成一个切片。 MapReduce工作机制 Map阶段 索引id是哈希和字典序的结合形象上可以将索引id看做key来进行快排。对索引id对索引进行快速排序写入磁盘需要按照分区进行写入环形缓冲区排序后数据整体是有序的分区写入时局部也是有序的。写入时是通过索引在环形缓冲区的右侧数据部分查找对应的数据。环型缓冲区一般为100M实际是指Map的读取数据写入缓冲区和缓冲区索引快排后溢写磁盘的那种往返行为两者的方向是相反的一般来说进行快排和溢写是追加写的速度是很快的可以保证写入数据无需等待同时进行提升效率。先填充数据到达80%时停止填充进行快速排序后溢写数据到磁盘中同时数据继续反向填充。Map在进行溢写后会产生很多局部有序的分区文件将数据交付给Map前会先进行归并排序将局部有序的分区文件合并为整体有序的分区数据。 Reduce阶段 copy:从不同Map中拉取分区后的数据sort:由于是不同Map中的数据仍然是局部有序整体无序的数据Reduce需要将其进行归并排序成为整体有序的数据。reduce:进行数据的计算 Shuffle机制 Map方法之后Reduce方法之前的数据处理过程称之为Shuffle。 Combiner操作归并排序后有一次默认的合并操作第二次合并需要考虑溢写的次数由于combine合并时需要从磁盘读取数据数据数量太少时进行合并效率并不高。Combiner操作是将计算过程提前到了Map阶段由于Map阶段的数据量较少一般情况下每次最多128M的数据减少Reduce阶段的压力。进行combiner操作后的结果会一部分放入内存一部分放入磁盘后续使用时需要分别进行归并排序合并总体结果公共需要进行3次归并排序。当设置reduceNum为0时只有map阶段没有reduce阶段就没有shuffle阶段。 Partition分区 分区器 默认分区器自定义分区器 机制 分区操作在map阶段之后key.hashCode() Integer.MAX_VALUE去除负数reduce阶段中有默认分区器 相同的key永远进入同一个分区不同的key有可能进入不同分区分区无论怎么算都不会有负数诞生已经不会超过reduce的上限 如果对输出结果有具体的分区要求需要定义分区继承Partition类 根据业务逻辑定义分区数量分区数量确定时分区号已经确定了如果分区数量大于返回的分区号会导致reduce空转如果reduce的数量小于返回的分区号会报错当分区数为1时代码会使用默认的分区器 Combiner合并 Combiner是MR程序中的Mapper和Reducer之外的一种组件Combiner组件的父类就是ReducerCombiner和Reducer的区别在于运行的位置 - Combiner是在每一个MapTask所在的节点运行 - Reducer是在ReduceTask节点运行本质上代码都是一样的可以直接使用原本的Reduce类作为Combiner类如果将ReduceTask的数量设置为0Combiner将直接不执行输出结果连排序都没有做在map阶段直接退出了。即shuffle和reduce两个过程都没有执行。 OutputFormat数据输出 基本上不需要自己实现有很多现成的工具类比如Flume, 除非您的公司有自己的文件系统否则不需要自己操心。 总结 MapTask做了什么 input 切割 读取map索引快排后缓冲区往返溢写sort快排后写入磁盘 ReduceTask做了什么 copy阶段ReduceTask从各个MapTask上远程拷贝一片数据并针对某一片数据如果其大小超过一定阈值则写到磁盘上否则直接放到内存中。sort阶段对内存和磁盘上的文件进行合并以防止内存使用过多或磁盘上文件过多。reduce阶段进行数据的规约合并并将结果写入HDFS。
http://www.hkea.cn/news/14305562/

相关文章:

  • 天津营销网站建设公司蛋糕烘焙wordpress主题
  • 公司网页网站建设 ppt大兴网站开发公司
  • 建设工程招标网站产品网站怎么做的
  • 保山做网站建设淘宝seo 优化软件
  • 网站建设运维合同html网页设计logo代码
  • 郑州建站系统在线咨询上传网站需要什么软件
  • 南京网站制作案例微信小程序制作免费轻站平台
  • 大型网站建设哪个好厦门思总建设有限公司网站
  • 网站访问大小 计算流量山东网站建设费用
  • 二次开发wordpress优化就是开除吗
  • 企业网站 设计需求网站建设神州互动
  • 如何做网站规划在电脑上哪里可以做网站
  • 黄石港区建设局网站学生做网站作品图片
  • 淘宝客绑定网站备案号新类型的网站
  • 中国十大发布信息网站排名青岛队建网站
  • 深圳三站合一网站建设英文外贸网站模板
  • 已经有域名 如何建设网站微网站 pc网站同步
  • 泉州网站建设电话搭建一个网站的具体步骤
  • 共享网站哪里建个人网站如何在工信部备案
  • 赣州网站建设多少钱wordpress mu安装
  • 网站虚拟主机建设官方网站开发公司
  • 青锐成长计划网站开发人员小白怎么做网站
  • 高度重视局门户网站建设人工智能的网站
  • 怎么建立网站链接广州做服装电商拿货的网站
  • 杭州网站建设(推荐乐云践新)wordpress 注册 登录界面
  • 商城网站开发报价方案手机建站图片
  • 农机网站模版wordpress构建自定义设置页面
  • 做家乡特产的网站单片机培训
  • 苏晋建设集团网站太原网站开发模板
  • 微信音乐做mp3下载网站网站开发设计实训总结