我正在使用HBase来存储webtable内容,例如谷歌如何使用bigtable
供google bigtable的参考
我的问题是关于 RowKey ,我们应该如何形成它
谷歌正在做的是以相反的顺序保存URL,如PDF文档“com.cnn.www”中所示,以便与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
执行此操作背后的原因是rowkey会根据Hbase design schema缩短(主题 6.3.2.3.Rowkey Length 中提及)。
那么我们需要你们知道我在这里是否正确.... 如果我是正确的,我应该使用什么算法。我使用python而不是thrift作为编程语言,所以代码对我来说是压倒性的......
答案 0 :(得分:1)
当您缩短URI时,为主机和路径单独执行并连接,因此您的密钥将类似于hostHash!pathHash,它将一方面保持简短并将来自同一站点的所有URI组合在一起其他