Writable 接口案例 - 统计每台智能设备内容播放时长


需求

统计每台智能音箱设备内容播放时长

原始日志格式

日志id	设备id	appkey(合作硬件厂商)  IP	      自有内容时长(s)    第三方内容时长(s) 网络状态码
001	001577c3   kar890809   120.111.222.99	  1116	           865	          200

输出结果

设备id    自有内容时长(s)  第三方内容时长(s) 总时长
001577c3    11160           9540        20700

整体思路分析
Map阶段
1.读取一行文本数据,按照制表符切分
2.抽取出自有内容时长,第三方内容时长,设备d
3输出:key->设备 d value封装一个bean对象,bean对象携带自有内容时长,第三方内容
4.自定义bean对象作为vaue输出,需要实现 writable序列化接口
Reduce阶段
1.在 reduce方法中直接遍历迭代器,累加时长然后输出即可