我有很多页面(5.000.000.000+),我需要建立一个反向链接结构。对于每个页面,我需要提取所有出站链接。
例如原始数据。
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 并且工作正常。但经过一些分析后,我意识到一些 url 至少有 500mb 的入站链接信息。
5.000.0000.000 页乘以 500 mb 是很多数据......
每个 url 的长度为 100 字节,所以我的第一个提示是进行某种散列以减小每个 url 的大小。但这会给流程增加一些开销,因为我们需要一个服务来检索给定 url 的哈希值,反之亦然。
那么,您认为最好的方法是什么?有任何想法吗?