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

做网站设计师好吗好网站

做网站设计师好吗,好网站,如何建立一个手机网站,男女做那个的网站实现bean对象序列化步骤 自定义bean对象实现序列化接口。 1)必须实现Writable接口 2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造 public FlowBean(){super(); } 3)重写序列化方法 Override public …

实现bean对象序列化步骤

        自定义bean对象实现序列化接口。

1)必须实现Writable接口

2)反序列化时,需要反射调用空参构造函数,所以必须有空参构造

public FlowBean(){super();
}

3)重写序列化方法

@Override
public void write(DataOutput out) throws IOException{out.writeLong(upFlow);out.writeLong(downFlow);out.wirteLong(sumFlow);
}

4)重写反序列化方法

@override
public void readFields(DataInput in) throws IOException{upFlow = in.readLong();downFlow = in.readLong();sumFlow = in.readLong();
}

5)注意反序列化顺序和序列化顺序要完全一致

6)要想把结果显示在文件中,需要重写toString()方法,可用\t分开,方便后续使用

7)如果需要将自定义的bean放在key中传输,则还需要实现Comparable接口,因为MapReduce框中的shuffle过程要求对key必须能排序

@Override
public int compareTo(FlowBean o){return this.sumFlow > o.getSumFlow() ? -1 : 1;
}

代码案例(统计流量)

FlowBean
public class FlowBean implements Writable {private long upFlow;private long downFlow;private long sumFlow;public FlowBean() {}public long getUpFlow() {return upFlow;}public void setUpFlow(long upFlow) {this.upFlow = upFlow;}public long getDownFlow() {return downFlow;}public void setDownFlow(long downFlow) {this.downFlow = downFlow;}public long getSumFlow() {return sumFlow;}public void setSumFlow(long sumFlow) {this.sumFlow = sumFlow;}public void setSumFlow() {this.sumFlow = this.upFlow + this.downFlow;}@Overridepublic void write(DataOutput dataOutput) throws IOException {dataOutput.writeLong(upFlow);dataOutput.writeLong(downFlow);dataOutput.writeLong(sumFlow);}@Overridepublic void readFields(DataInput dataInput) throws IOException {this.upFlow = dataInput.readLong();this.downFlow = dataInput.readLong();this.sumFlow = dataInput.readLong();}@Overridepublic String toString() {return upFlow + "\t" + downFlow + "\t" + sumFlow ;}
}
FlowMapper
public class FlowMapper extends Mapper<LongWritable, Text,Text,FlowBean> {private Text outK = new Text();private FlowBean outV = new FlowBean();@Overrideprotected void map(LongWritable key, Text value, Mapper<LongWritable, Text, Text, FlowBean>.Context context) throws IOException, InterruptedException {String line = value.toString();String[] split = line.split(" ");String phone = split[1];String upFlow = split[2];String downFlow = split[3];outK.set(phone);outV.setUpFlow(Long.parseLong(upFlow));outV.setDownFlow(Long.parseLong(downFlow));// outV.setSumFlow(Long.parseLong(upFlow) + Long.parseLong(downFlow));outV.setSumFlow();context.write(outK,outV);}
}
FlowReducer
public class FlowReducer extends Reducer<Text,FlowBean,Text,FlowBean> {private FlowBean outV = new FlowBean();@Overrideprotected void reduce(Text key, Iterable<FlowBean> values, Reducer<Text, FlowBean, Text, FlowBean>.Context context) throws IOException, InterruptedException {long totalUpFlow = 0;long totalDownFlow = 0;for (FlowBean value : values) {totalUpFlow += value.getUpFlow();totalDownFlow += value.getDownFlow();}outV.setUpFlow(totalUpFlow);outV.setDownFlow(totalDownFlow);outV.setSumFlow();context.write(key,outV);}
}
FlowDriver
public class FlowDriver{public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {Configuration conf = new Configuration();Job job = Job.getInstance(conf);job.setJarByClass(FlowDriver.class);job.setMapperClass(FlowMapper.class);job.setReducerClass(FlowReducer.class);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(FlowBean.class);FileInputFormat.setInputPaths(job,new Path("Data/input/TestFlowBean"));FileOutputFormat.setOutputPath(job,new Path("Data/output/TestFlow3"));Boolean result = job.waitForCompletion(true);System.exit(result ? 0:1);}
}

http://www.yidumall.com/news/58255.html

相关文章:

  • 新开服网页游戏一览表西安区seo搜索排名优化
  • wordpress函数调用实例无锡优化网站排名
  • 青岛建设银行社会招聘网站福州seo网址优化公司
  • 正阳县网站建设seo站内优化技巧
  • WordPress潮流媒体主题杭州企业seo
  • 淘宝内部优惠券放到网站上做怎样优化网站排名靠前
  • 广告素材网站都有哪些营销 推广
  • 五莲网站建设上海何鹏seo
  • 自己做网站做淘宝联盟职业技能培训网站
  • 做室内设计特别好的网站佛山企业用seo策略
  • 网站关键词几个最好广州百度关键词搜索
  • 外贸营销策略都有哪些seo系统源码
  • 建立收费网站企业网站制作多少钱
  • 东莞 网站建设爱站网关键词挖掘工具
  • 搭建一个网站教程sem培训学校
  • wordpress生成站点地图优化关键词的方法有哪些
  • wordpress收费主题破解版智能优化网站
  • wordpress设置中文失败优化措施最新回应
  • 昆明制作网站搜索引擎优化规则
  • 网站页面文案谷歌官方网站注册
  • 网站嵌入播放器互联网平台推广怎么做
  • 紫色个人网站模板专业做网站
  • 为什么手机网站跳转页面上百度图片识别
  • seo外链资源哈尔滨seo服务
  • 怎么用php做网站方案新人学会seo
  • 高端网站建设询问磐石网络营销战略
  • 网站建设和推广网络营销的传播手段
  • 旅行社电商网站怎么做黑帽seo什么意思
  • WordPress支持you2php吗seo优化sem推广
  • 柳州做网站的公司有哪些西安网站建设公司