2

这可能是一个愚蠢的问题——但我不知道如何在 Hbase 中“索引”行键,所以我假设当 HBase 放入行键时,它们具有内置支持,可以根据行键 - 换句话说,将行键自动视为主键?

谢谢!

4

2 回答 2

4

该表不仅由键索引,它实际上是由键按字典顺序排列的。即,Hbase 知道在哪个区域服务上找到每个密钥,并在该区域服务器中知道区域和特定的 HFile。写入 HFile 的数据按键排序。

字典顺序意味着您还可以通过部分键检索数据(例如扫描“a”)将获得以“a”开头的所有内容。这会花费大量时间将多个维度放入键中,例如,您可以将键设置为国家,然后是城市,以获取每个国家/地区的聚合,然后有效地按城市进行细分。

于 2012-09-20T11:49:33.437 回答
2

是的,表格是通过行键排序的。客户端可以获取包含行键范围的区域服务器 ID,然后允许直接连接到包含他们需要的行键的区域服务器。此外,由于键是有序字节数组,区域服务器可以进行二进制搜索以从它包含的行列表中检索该行。这使得随机检索非常有效,并且它使扫描连续行非常有效。

于 2012-09-19T21:11:33.247 回答