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

建设银行网站电脑版企业整套vi设计都包含哪些

建设银行网站电脑版,企业整套vi设计都包含哪些,南城免费做网站,算命网站建设文章目录 #xff08;103#xff09;Combiner概述什么是CombinerCombiner有什么用处Combiner有什么特点如何自定义Combiner #xff08;104#xff09;Combiner合并案例实操如何从日志里查看Combiner如果不存在Reduce阶段#xff0c;会发生什么自定义Combiner的两种方式 参… 文章目录 103Combiner概述什么是CombinerCombiner有什么用处Combiner有什么特点如何自定义Combiner 104Combiner合并案例实操如何从日志里查看Combiner如果不存在Reduce阶段会发生什么自定义Combiner的两种方式 参考文献 103Combiner概述 什么是Combiner Combiner即合并是MR里shuffle的一项可选流程位于Map阶段和Reduce阶段之间是MR中除Mapper和Reducer之外的一种组件但并不是默认存在的组件其可有也可无。 Combiner有什么用处 主要是用来减少数据量。 比如说在WordCount的案例里我们可以针对像(a,1)、(a,1)、(a,1)这种完全一样的数据启用Combiner进行一个简单的聚合即转换成(a,3)这样的数据。这样做的好处很明显就是大大减少了输入到Reduce的数据量以上面例子为例3条数据直接变成了1条从而减少了reduce处理的资源压力。 之前大概提过它的使用场景有两个地方 第一个场景是mapper每次溢写到磁盘的时候每当溢写的时候就可以进行Combiner操作。每个分区内部就开始简单合并。 第二个场景是在单个MapTask的所有或部分的map()都溢写完成后会有一个归并操作将所有溢写的文件进行分区归并待合并完成后同样可以对每个分区进行一个Combiner操作减少数据量。 Combiner有什么特点 汇总下Combiner一些特点 Combiner的父类是Reducer即它继承的就是Reducer类Combiner和Reducer的区别就在于运行的位置Combiner是在每一个MapTask所在的节点上运行Reducer是接收所有Mapper的输出Combiner的意义就是对每一个MapTask或者说是对自己所在的MapTask的输出进行局部汇总以减少网络传输量。并不是所有的场景都可以使用Combiner具体区别可以再摸索下主要是不能影响最终的业务逻辑。 因此我们可以这么说 Combiner就是运行在一个MapTask上的Reducer即局部汇总而真正的Reducer是可以面向所有MapTask的。 另外如何理解不能影响最终的业务逻辑这句话呢 比如说当前的业务逻辑是算输入数据的平均值那我提前对每个MapTask做Combiner来计算每个MapTask的平均值然后把结果传给Reducer来计算全部MapTask的平均值这样子可以吗 这当然是不行的。 假设两个MapTask一个接收数字3、57另一个接收数字2和6分别计算平均值那就是5和4再传进Reducer计算平均值54/24.5。 但是其实(35726)/5 4.6上面结果算的明显不对。 所以 是否可以使用Combiner以及使用什么样的Combiner都得以不影响最终业务逻辑为前提不能随便应用。 如何自定义Combiner 如何自定义Combiner 继承Reducer类重写Reduce()就可以。 public class WordCountCombiner extends ReducerText, IntWritable, Text, IntWritable {private IntWritable outV new IntWritable();Overrideprotected void reduce(Text key, IterableIntWritable values, Context context) throws IOException, InterruptedException {int sum 0;for (IntWritable value : values) {sum value.get();}outV.set(sum);context.write(key,outV);} }最后在驱动器里注册 job.setCombinerClass(WordCountCombiner.class);104Combiner合并案例实操 如何从日志里查看Combiner 如何从打印的日志里来查看Combiner的详情呢 打印的日志里有一个Map-Reduce Framework区域如下图红色框出来的部分就是combine的运行结果。 combine input records代表输入到Combiner的数据行数combine output records则表示经过Combiner处理后输出的数据行数。 下图左边表示未启用自定义Combiner时的输出结果右边表示启用自定义Combiner后的输出结果。 可以看到启用前Reduce shuffle bytes是156字节启用后是66字节说明数据在传到reduce前经过了自定义Combiner的处理数据量减小了。 如果不存在Reduce阶段会发生什么 如果没有Reduce阶段就不需要设置Combiner了。 如果我们在驱动类里设置job.setNumReduceTasks(0)即取消Reduce阶段那么Combiner还会生效么 答案是不会Hadoop会将mapper的处理结果作为输出持久化到文件。以WordCount案例为例我们最终在文件里看到的就是: a,1 b,1 a,1 ....为什么会这样呢 是因为Combiner是存在于Mapper和Reducer之间的shuffle阶段如果没有reduce的话那么Reducer阶段不存在所以整个shuffle阶段也就不存在了Hadoop会直接将Mapper的处理结果导出。 自定义Combiner的两种方式 还是以WordCount来举例吧。 第一种方式增加一个WordCountCombiner来继承Reducer这个上一小节其实讲过了 package com.atguigu.mapreduce.combiner;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Reducer; import java.io.IOException;public class WordCountCombiner extends ReducerText, IntWritable, Text, IntWritable {private IntWritable outV new IntWritable();Overrideprotected void reduce(Text key, IterableIntWritable values, Context context) throws IOException, InterruptedException {int sum 0;for (IntWritable value : values) {sum value.get();}//封装outKVoutV.set(sum);//写出outKVcontext.write(key,outV);} }然后在驱动类里声明 // 指定需要使用combiner以及用哪个类作为combiner的逻辑 job.setCombinerClass(WordCountCombiner.class);但是 实际上如果你看过教程里的代码会发现我们自定义的这个Combiner里面的reduce()跟我们自定义的WordCountReducer类的reduce()一模一样甚至整个类都是一样的因为所谓的Combiner就是运行在单个MapTask的Reducer再加上我们的业务要求处理逻辑自然完全一致。 所以在这种情况下我们根本不需要再定义一个Combiner类直接使用自定义Reducer类来声明就可以。 这就是第二种方案即我们只需要在驱动类里直接这么写 // 指定需要使用Combiner以及用哪个类作为Combiner的逻辑 job.setCombinerClass(WordCountReducer.class);齐活简直完美。 参考文献 【尚硅谷大数据Hadoop教程hadoop3.x搭建到集群调优百万播放】
http://wiki.neutronadmin.com/news/331959/

相关文章:

  • 百度集团网站建设方案手机网站 php
  • 网站二级域名怎么弄建设网站的各种问题
  • 阿里巴巴网站建设规划查询网站后台地址
  • 南京商城网站开发设计网站上的招牌图怎么做
  • 永州网站开发公司wordpress 菜单相册
  • 中国有名的网站建设公司徐州企业自助建站
  • 南通外贸网站制作中国工程监理人才网
  • 知道域名怎么进入网站网页设计代码中字体的颜色如何改
  • c#网站开发框架有seo优化顾问
  • 淘宝网发布网站建设重庆网站搭建公司
  • 成品网站建设网盘怎么做电影网站
  • 双桥网站建设关于市场营销的案例
  • 郑州本地做团购的网站润滑油东莞网站建设技术支持
  • 如果做网站接口在线做试卷网站
  • flash网站代码下载学校培训网站建设
  • 网站开发包含网站维护吗第三方wordpress安卓客户端
  • 365网站建设徐州网站建设的特点
  • 深圳建站公司告诉你十个建站步骤厦门做个网站多少钱
  • 免费的网站软件山东网站排行
  • 做简历网站js模板网站
  • 源码屋整站源码内推网
  • 浙江华临建设集团有限公司网站婚纱网站建设目的
  • 南昌it制作电商网站的公司广州公司网站建设
  • 建设网站的文案范文棋牌类网站设计建设
  • 哪个网站可以做担保交易wordpress媒体库 扩容
  • tp5网站开发模板wordpress网站顶部加横幅
  • 如何做网站软件12380网站建设情况汇报
  • 安徽住房和城乡建设部网站嘉兴网站开发
  • 一键搭建网站如何做一个网站的功能吗
  • 建设银行官方网站诚聘英才频道互联网企业是什么意思