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

时间:2013-02-14 16:29:06

标签: java hadoop bigdata

我有很多页面(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进行map-reduce,它运行正常。但经过一些分析后,我意识到一些网址至少有500mb的入站链接信息。

5.000.0000.000页乘500 mb是很多数据......

每个url的长度都是100个字节,所以我的第一个提示是使用某种哈希来减少每个url的大小。但这会给流程增加一些开销,因为我们需要一个服务来检索给定URL和反之的哈希。

那么,您认为最好的方法是什么?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

尽管单人团队的任务不切实际,但我可以建议:

  1. 根据“功率低”500mb将只有很少的链接,其中大部分都会有一小串链接。所以你应该重新评估你的链接分发。
  2. 要压缩链接,您可以在恢复的链接(即com.google.mail)上使用trie。