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

织梦做信息类网站衡阳seo优化首选

织梦做信息类网站,衡阳seo优化首选,制作一个企业网站过程,视频网站建设解决方案实现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.ds6.com.cn/news/56627.html

相关文章:

  • 电子商务书城网站建设方案青岛做网站推广公司
  • 做3个网站需要多大的服务器bt磁力搜索引擎
  • 怎样做网站分析总结网络营销的成功案例分析
  • 福田做商城网站建设哪家公司靠谱百度热搜榜在哪里看
  • 建网站最低需要多少钱百度手机助手最新版下载
  • 华春建设工程项目管理有限公司网站汕头网站关键词推广
  • 新疆维吾尔族城乡建设厅网站seo是怎么优化
  • 网站备案表格西安网络推广营销公司
  • 外国网站架构大数据精准营销案例
  • 上海宝山做网站公司排名志鸿优化设计答案
  • 成都建设网站专业网图识别在线百度
  • 丽水专业网站建设价格短期的技能培训有哪些
  • 内网做网站外网访问app投放渠道有哪些
  • 子商务网站建设的一般流程加盟教育培训哪个好
  • 关于网站建设的毕业论文案例做网页设计的软件
  • 服装网站banner怎么做百度指数下载
  • 亚马逊品牌网站怎么做太原seo关键词优化
  • 如何把旅行社网站做的好看全网自媒体平台大全
  • 公司食堂设计图seo兼职招聘
  • 做配色的网站汕头seo推广外包
  • 深圳网站网络推广公司qq刷赞网站推广全网
  • 甘肃城乡建设局网站百度竞价官网
  • 宜昌网站建设开发费用免费的短视频app大全下载
  • 网站代码在哪里修改百度快照投诉
  • 苗木企业网站建设源代码个人介绍网页制作
  • 品牌网站建设搜搜磐石网络帮平台做推广怎么赚钱
  • 西宁网站建设高端西安seo公司
  • 花生壳做网站需要备案西安网站建设排名
  • 织梦做的网站图片路径在哪里奉化首页的关键词优化
  • 网站建设模块分析网站排名seo培训