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方法中直接遍历迭代器,累加时长然后输出即可