MapReduce-流量统计求和-排序-FlowBean编写
生活随笔
收集整理的這篇文章主要介紹了
MapReduce-流量统计求和-排序-FlowBean编写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求二: 上行流量倒序排序(遞減排序)
分析,以需求一的輸出數據作為排序的輸入數據,自定義FlowBean,以FlowBean為map輸出的key,以手機號作為Map輸出的value,因為MapReduce程序會對Map階段輸出的key進行排序
Step 1: 定義FlowBean實現WritableComparable實現比較排序
Java 的 compareTo 方法說明:
compareTo 方法用于將當前對象與方法的參數進行比較。
如果指定的數與參數相等返回 0。
如果指定的數小于參數返回 -1。
如果指定的數大于參數返回 1。
例如: o1.compareTo(o2); 返回正數的話,當前對象(調用 compareTo 方法的對象 o1)要排在比較對象(compareTo 傳參對象 o2)后面,返回負數的話,放在前面
package cn.learn.mapreduce_sort;import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableComparable;import java.io.DataInput; import java.io.DataOutput; import java.io.IOException;public class FlowBean implements WritableComparable<FlowBean>{private Integer upFlow;private Integer downFlow;private Integer upCountFlow;private Integer downCountFlow;public Integer getUpFlow() {return upFlow;}public void setUpFlow(Integer upFlow) {this.upFlow = upFlow;}public Integer getDownFlow() {return downFlow;}public void setDownFlow(Integer downFlow) {this.downFlow = downFlow;}public Integer getUpCountFlow() {return upCountFlow;}public void setUpCountFlow(Integer upCountFlow) {this.upCountFlow = upCountFlow;}public Integer getDownCountFlow() {return downCountFlow;}public void setDownCountFlow(Integer downCountFlow) {this.downCountFlow = downCountFlow;}@Overridepublic String toString() {returnupFlow +"\t" + downFlow +"\t" + upCountFlow +"\t" + downCountFlow;}@Overridepublic void write(DataOutput dataOutput) throws IOException {dataOutput.writeInt(upFlow);dataOutput.writeInt(downFlow);dataOutput.writeInt(upCountFlow);dataOutput.writeInt(downCountFlow);}@Overridepublic void readFields(DataInput dataInput) throws IOException {this.upFlow = dataInput.readInt();this.downFlow = dataInput.readInt();this.upCountFlow = dataInput.readInt();this.downCountFlow = dataInput.readInt();}@Overridepublic int compareTo(FlowBean other) {return this.getUpFlow().compareTo(other.getUpFlow()) * -1; //按照上行數據包進行 排序} }?
總結
以上是生活随笔為你收集整理的MapReduce-流量统计求和-排序-FlowBean编写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MapReduce-流量统计求和-Red
- 下一篇: MapReduce-流量统计求和-排序-