0

我正在使用 HBase 来存储 webtable 内容,例如 google 如何使用 bigtable。
供参考google bigtable
我的问题是关于RowKey,我们应该如何形成它。
正如您在 PDF 文档“com.cnn.www”中看到的那样,谷歌正在做的是以相反的顺序保存 URL,以便与 cnn.com 关联的所有链接都将在同一个 GFS 块中进行管理,这将更容易扫描。
我可以使用与谷歌相同的东西,但如果我使用一些算法来压缩网址,它会不会很酷

例如。

RewKey                               |  Google Bigtable                      |  Algorithm output
www.cnn.com/index.php                |  com.cnn.www/index.php                |  12as/435
www.cnn.com/news/business/index.html |  com.cnn.www/news/business/index.html |  12as/2as/dcx/asd
www.cnn.com/news/sports/index.html   |  com.cnn.www/news/sports/index.html   |  12as/2as/eds/scf

这样做的原因是,根据Hbase 设计模式,rowkey 会更短(在主题6.3.2.3. Rowkey Length中提到)。

所以我需要你们知道我在这里是否正确......
另外,如果我是正确的,我应该使用什么算法。我使用 python 而不是节俭作为一种编程语言,所以代码对我来说将是压倒性的......

4

1 回答 1

1

当您缩短 URI 时,分别为主机和路径执行并连接,因此您的密钥将类似于 hostHash!pathHash,一方面它会保持简短,另一方面将来自同一站点的所有 URI 组合在一起

于 2013-08-29T09:19:06.457 回答