一、需求:
從流量詳單中統(tǒng)計(jì)每個(gè)號(hào)碼的上行總流量、下行總流量、
總流量,詳單文件名gprs_data.txt,文件中內(nèi)容如下:
1 13901010101 www.baidu.com 36 1546 200
2 18602020202 www.baidu.com 35 518 200
......
各字段以空格分隔,分別代表序號(hào)、電話(huà)號(hào)碼、訪(fǎng)問(wèn)網(wǎng)址、上行流量、下行流量、狀態(tài)碼。
二、代碼實(shí)現(xiàn)
1.需要自定義類(lèi)FluxBean,實(shí)現(xiàn)org.apache.hadoop.io.Writable接口
1)定義空參構(gòu)造方法;
2)實(shí)現(xiàn)write和readFields方法,注意字段順序要一致;
3)按輸出要求重寫(xiě)toString方法。
2.編寫(xiě)Mapper和Reducer
1)Mapper中注意輸出的泛型為FluxBean;
2)Reducer中需要對(duì)流量進(jìn)行累加,并注意輸入和輸出泛型。
3.編寫(xiě)Driver。
三、運(yùn)行FluxDriver,觀察輸出結(jié)果
注意運(yùn)行前要保證輸出結(jié)果目錄不存在,否則會(huì)報(bào)錯(cuò)。
四、代碼
代碼見(jiàn)https://gitee.com/kaceyollie/bigdata-study.git中,MapReduceDemo項(xiàng)目中com.kaceyollie.mr.serialize包