linbo_eman 2016-12-20 11:05 采纳率: 100%
浏览 1423

hadoop mapreduce 统计所有的key-value中value为空的数目

遇到一个问题,望大家有空可以帮忙看看,小弟感激不尽!

现在在做信令解析,有一条信令:[2016-04-02 09:58:09,724] len:78;type:1002;msc:0E1F;bsc:3F17;time:2016-04-01 16:48:46.494;lac:13883;ci:8713;imsi:460004544938252;msisdn:13994482976;callType:0;disLen:11;disMsisdn:13503531697;remark:0;

map0:
输入:一条信令(上面那一条)
通过解析,得到一个Object
输出:key:imsi

value:{imsi:460004544938252,msisdn:13994482976}

reduce0:
输入:key:imsi
value:List<> {imsi:460004544938252,msisdn:''},{imsi:460004544938252,msisdn:13994482976},{imsi:460004544938252,msisdn:''}

在这里我想统计一下:
1、所有的msisdn为空的个数
2、imsi对应的msisdn为空的个数(List里的msisdn全为空计1)

现在问题是:要把统计的值(一行:日期 | 呼叫总量 | IMSI未解析总呼叫次数 | 占比1 | 总IMSI | 未解析总IMSI数 | 占比2)写到文件中,怎么判断我读的是最后一条信令呢?如果不行的话,把这个reduce的结果传给第二个mapreduce统计怎么实现呢?

希望有空的朋友多多指点!谢谢

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2016-12-20 16:35
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 Fluent udf 编写问题
  • ¥15 求合并两个字节流VB6代码
  • ¥15 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突