遇到一个问题,望大家有空可以帮忙看看,小弟感激不尽!
现在在做信令解析,有一条信令:[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统计怎么实现呢?
希望有空的朋友多多指点!谢谢