每日PV-MRJob-Python数据分析(2)

1.1. 前言

这边我们使用Python的M/R框架MRJob来分析

1.2. M/R步骤

M/R分析数据步骤一般有 3 步:

Mapper => Shuffle => Reduce

Mapper: 一般是解析文件中的每一行数据并生成自定义的 key 和 value 输出

Shuffle: 是一个 patition、sort、combine 组成的。一般这个过程是自动进行的。当然我们也可以定义或重写方法来实现自己的 Shuffle。

Reduce: 接收 Mapper 和 Shuffle 输出的 key和value迭代器 计算出我们需要的结构。Reduce 可以有多个

 

1.3. 如我们计算每日PV经过这三个步骤

Mapper: 将以行数据解析成 key=YYYY-MM-dd value=1的形式

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

结果如: 2016-09-24 [1, 1, 1 ... 1, 1]

Reduce: 在这边我们计算出 2016-09-24 是访问量

输出如: 2016-09-24 sum([1, 1, 1 ... 1, 1])

1.4. 代码

运行统计和输出结果

昵称: HH

QQ: 275258836

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

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

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

HH
teakki

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: