这边我们使用Python的M/R框架MRJob来分析
M/R分析数据步骤一般有>
Mapper => Shuffle => Reduce
Mapper: 一般是解析文件中的每一行数据并生成自定义的 key 和 value 输出
Shuffle:是一个 patition、sort、combine 组成的。一般这个过程是自动进行的。当然我们也可以定义或重写方法来实现自己的 Shuffle。
Reduce: 接收 Mapper 和 Shuffle 输出的 key和value迭代器 计算出我们需要的结构。Reduce 可以有多个
Mapper:将以行数据解析成>
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])