您当前所在位置:首页数据库URL请求数-MRJob-Python数据分析(6)

URL请求数-MRJob-Python数据分析(6)

更新:2022-05-23 13:17:29编辑:Story归类:数据库人气:170

1.1. 前言

我们计算URL请求数经过这四个步骤:

Mapper: 将以行数据解析成 key=请求的URL数 value=1的形式

Shuffle: 通过Shuffle后的结果会生成以 key 的值排序的 value迭代器

结果如: 请求的URL数 [1, 1, 1 ... 1, 1]

Reduce 1: 在这边我们计算出 每个请求的URL 的访问量

输出如: None [sum([1, 1, 1 ... 1, 1]), key]

Reduce 2: 对sum([1, 1, 1 ... 1, 1]) 进行排序并输出 TOP 100

输入如: 246361 "/wp-admin/admin-ajax.php"

1.2. 代码

运行统计和输出结果

值得一提的是我们在这边使用了 heapq.nlargest 函数来计算 TOP 100 的URL请求数,或许多的程序员估计会使用 sorted([1, 1, 1 ... 1, 1])[:100] 这中形式来做。个人建议在数据量大的时候千万别这么高这样内存会被吃尽并报OOM错误。主要是因为 sorted 先生成了一个list 再对list进行切片。如果list数据量大就有问题。

昵称: HH

QQ: 275258836

ttlsa群交流沟通(QQ群②: 6690706 QQ群③: 168085569 QQ群④: 415230207(新) 微信公众号: ttlsacom)

感觉本文内容不错,读后有收获?

逛逛衣服店,鼓励作者写出更好文章。

成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

URL请求数-Pandas-Python数据分析(7) 时刻PV-Pandas-Python数据分析(5)