java—数据结构的最佳设计(大数据)

nzkunb0c  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(379)

我有很多页(5.000.000.000+)和我需要建立一个反向链接结构。对于每个页面,我需要提取所有出站链接。
e、 g.原始数据。

www.mypage1.com = outbound1, outbound2, outbound3
www.mypage2.com = ouput4, outbound2, outbound1

预期结果。

outbound1=www.mypage1.com,www.mypage2.com
outbound2=www.mypage1.com,www.mypage2.com
outbound3=www.mypage1.com
outbound4=www.mypage2.com

实际上,我正在使用hadoop来Mapreduce,它运行得很好。但经过一些分析后,我意识到有些url至少有500mb的入站链接信息。
5.000.0000.000页乘以500 mb是大量的数据。。。
每个url的长度都是100字节,所以我的第一个提示是做一些散列来减小每个url的大小。但是这会给这个过程增加一些开销,因为我们需要一个服务来检索给定url的哈希值,反之亦然。
那么,你认为最好的方法是什么?有什么想法吗?

chy5wohz

chy5wohz1#

尽管单人团队的任务不现实,但我可以建议:
根据“电力低”500mb将只有很少的链接,其中大部分将有一小串的链接。所以你应该重新估计你的链接分布。
要压缩链接,可以对还原的链接(即com.google.mail)使用trie。

相关问题