您的位置:首页 > 其它

如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。

2012-05-09 14:15 721 查看
如何有效合并两个文件:一个是1亿条的用户基本信息,另一个是用户每天看电影连续剧等的记录,5000万条。其中内存只有1G。

显然内存不能同时存下所有的数据,所以考虑分而治之的思想。

假设1K Byte可以保存一个用户的基本信息和看电影记录。

1亿=0.1G,所以0.1G*1KB=100GB。内存为1G,分为100个小文件。

我们可以将基本信息和看电影记录都按照hash(user_name)%100的余数各分成100个小文件。利用1G内存,我们可以每次只处理一对小文件,然后将结果输出到一个文件中即可。

在处理一对小文件时,可以利用key为用户名的hash_map将基本信息和看电影记录合并在一起。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  byte user
相关文章推荐