您当前所在位置:首页数据库Join实现-MRJob-Python数据分析(16)

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

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

1.1. 前言

前面我们解析出了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)

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

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

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

CDN_IP对应地区-MRJob-Python数据分析(17) 真实IP请求数-MRJob-Python数据分析(14)