案例要求
统计每个手机的总流量,按照手机号前三位进行分区,各个分区内按照总流量降序排序
输入文件示例
1 13736230513 192.196.100.1 www.baidu.com 2481 24681 200
2 13846544121 192.196.100.2 264 0 200
3 13956435636 192.196.100.3 132 1512 200
4 13966251146 192.168.100.1 240 0 404
5 18271595951 192.168.100.2 www.atguigu.com 1527 2106 200
6 84188413 192.168.100.3 www.atguigu.com 4116 1432 200
7 13590439668 192.168.100.4 1116 954 200
8 15910133277 192.168.100.5 www.hao123.com 3135 2939 200
9 13729199489 192.168.100.6 240 0 200
10 13630577991 192.168.100.7 www.souhu.com 6960 690 200
11 15043685818 192.168.100.8 www.baidu.com 3659 3538 200
12 15959002129 192.168.100.9 www.atguigu.com 1938 180 500
13 13560439638 192.168.100.10 918 4938 200
14 13470253144 192.168.100.11 180 180 200
15 13682846555 192.168.100.12 1938 2910 200
16 13992314666 192.168.100.13 3008 3720 200
17 13509468723 192.168.100.14 7335 110349 404
18 18390173782 192.168.100.15 9531 2412 200
19 13975057813 192.168.100.16 11058 48243 200
20 13768778790 192.168.100.17 120 120 200
21 13568436656 192.168.100.18 www.bilibili.com 2481 24681 200
22 13568436656 192.168.100.19 1116 954 200
23 13509468724 192.168.100.20 7334 110350 200
输出结果示例
// part-r-00000
13630577991 6960 690 7650
13682846555 1938 2910 4848
// part-r-00001
13736230513 2481 24681 27162
13729199489 240 0 240
13768778790 120 120 240
// part-r-00002
13846544121 264 0 264
// part-r-00003
13975057813 11058 48243 59301
13992314666 3008 3720 6728
13956435636 132 1512 1644
13966251146 240 0 240
// part-r-00004
13509468723 7335 110349 117684
13509468724 7334 110350 117684
13568436656 3597 25635 29232
18390173782 9531 2412 11943
15043685818 3659 3538 7197
15910133277 3135 2939 6074
13560439638 918 4938 5856
84188413 4116 1432 5548
18271595951 1527 2106 3633
15959002129 1938 180 2118
13590439668 1116 954 2070
13470253144 180 180 360
解答思路
本案例,依旧需要分两步解答。
第一步,读取原始文件,计算出总流量。
输出示例:
13470253144 180 180 360
13509468723 7335 110349 117684
13509468724 7334 110350 117684
13560439638 918 4938 5856
13568436656 3597 25635 29232
13590439668 1116 954 2070
13630577991 6960 690 7650
13682846555 1938 2910 4848
13729199489 240 0 240
13736230513 2481 24681 27162
13768778790 120 120 240
13846544121 264 0 264
13956435636 132 1512 1644