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个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问