Join实现-MRJob-Python数据分析(16)

  • A+
所属分类:python

1.1.?前言

本文地址:http://www.bhlaab.com/python/python-big-data-analysis-join-mrjob/
文章摘要:Join实现,呆头印度人继承权,私房钱怎样用护送。

前面我们解析出了CDN IP 和 用户真实IP 的访问次数,但是我们要如何知道该IP是来自哪个地区呢?这时候我们就需要用到在area_ip.csv 中的数据了。

这时候就需要使用 M/R 来实现 IP 和 area_ip 的 join 行为。使用 M/R 来实现join其实就是 笛卡尔积 之后的过滤。如果数据量大的话将会是一个十分耗时的过程。而且我们 area_ip.csv 的数据是一个IP范围的数据,我们还需要将它展开,如:

start_ip: 0.0.0.0 stop_ip: 0.0.0.3

转化为四条数据

初步一算 原来 30M 多的 area_ip 数据就会变成 30G 多有好几十亿的数据这个用 M/R 做起join起来那可想而知了。

为了演示 M/R 的join 我们这边使用一个比较简单的数据来展示一下

1.2.?需求

求好友间接关系

1.3.?数据

1.4.?Mapper 步骤

键值互换变成两表关联

1.5.?Shuffle 步骤

拆分成两半并打上标记

1.6.?获取key相同的集合

1.7.?Reduce 步骤

取出每个key的值进行笛卡尔集从而得出有间接好友关系

原本要去重的这边就不去了

1.8.?程序代码

1.9.?准备数据

1.10.?执行程序

昵称: HH

QQ: 275258836

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

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

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

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

发表评论