问一个关于py处理大数据的问题

hupo1982 2014-06-14 05:08:42
比如我抓到两个大V微博的粉丝名称数据,大概各有几千万的样子,想找出他们有哪些共同粉丝,这种场景一般怎么实现啊。在下没做过这么大量级的数据,完全没头绪。
一定要存数据库吗?把粉丝名字存到MySQL数据表里面,然后用SQL语句查询共同项吗?想请有经验的朋友指点一下。
谢谢
...全文
263 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2014-06-16
  • 打赏
  • 举报
回复
python有set类.

In [4]: import random

In [7]: set1 = set(random.sample(range(100000), 20000))

In [8]: set2 = set(random.sample(range(100000), 20000))

In [9]: %timeit len(set1.intersection(set2))
1000 loops, best of 3: 880 µs per loop

In [10]: len(set1.intersection(set2))
Out[10]: 3963

The_Third_Wave 2014-06-15
  • 打赏
  • 举报
回复
引用 4 楼 hupo1982 的回复:
[quote=引用 1 楼 u013171165 的回复:] 首先,现在粉丝抓全部的非常不好处理,你确定你能抓下来?现在默认只能抓200条最新的粉丝。 抓下来以后收据处理就是找到共同的粉丝,这么大数量级,必须先考虑算法设计。否则很慢的!
嗯,我也是偶然想到这个应用场景,就发出来和大家探讨一下。如果把算法部分抽出来呢?两个几万条记录的数组,想找出来其中几十个相同的元素怎么找呢?如果数组是无序的,好像比较麻烦啊[/quote] 算法我不会,但是可以利用Python的字典,大的数据N创建字典,value设置为0,小数据n也变为字典,value设置为1,用小数据集的逐个update大的数据集,最后,重复ID的value变为1,找到了,只用执行n次update,N+n次查询,几万条数据,2秒内搞定吧!数组操作比字典慢。 我算法很菜,还在慢慢自学ing,这个得看大神愿不愿意分享。
hupo1982 2014-06-15
  • 打赏
  • 举报
回复
引用 1 楼 u013171165 的回复:
首先,现在粉丝抓全部的非常不好处理,你确定你能抓下来?现在默认只能抓200条最新的粉丝。 抓下来以后收据处理就是找到共同的粉丝,这么大数量级,必须先考虑算法设计。否则很慢的!
嗯,我也是偶然想到这个应用场景,就发出来和大家探讨一下。如果把算法部分抽出来呢?两个几万条记录的数组,想找出来其中几十个相同的元素怎么找呢?如果数组是无序的,好像比较麻烦啊
jeky_zhang2013 2014-06-14
  • 打赏
  • 举报
回复
还没玩过这么大的数据,帮定下,估计并行处理会快点
The_Third_Wave 2014-06-14
  • 打赏
  • 举报
回复
补充一下, 数据可是可以利用的,把id设置为UNIQUE KEY然后插入捕获异常!就能找得到了,这是个好思路,但是还是会涉及数据量太大的问题!这么大的数据我没玩过,专业做数据挖掘的或者数据库的补充吧。
The_Third_Wave 2014-06-14
  • 打赏
  • 举报
回复
首先,现在粉丝抓全部的非常不好处理,你确定你能抓下来?现在默认只能抓200条最新的粉丝。 抓下来以后收据处理就是找到共同的粉丝,这么大数量级,必须先考虑算法设计。否则很慢的!

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧