0

有没有办法从每个区域获取一个行键?我现在一直在做的方式是顺序扫描每个区域的第一个 rowkey,但这非常慢。想知道有没有其他更好的方法。

PS:请不要问我为什么需要每个地区的一个随机行键:)

4

1 回答 1

0

如果您希望获取特定区域的起始行键,请尝试HRegion 类提供的public byte[] getStartKey() 。

或者,如果您想获取当前打开表中每个区域的起始行键,则可以使用HTable 类中可用的public byte[][] getStartKeys() 。

编辑 :

尝试HRegionInfo 提供的public byte[] getStartKey()(亲自测试)。

我有一个名为 TestTable 的表,有 4 个区域,第二个区域的开始键是 0001617355。见下图:

在此处输入图像描述

如果我这样做:

System.out.println("Key as String:" + Bytes.toString(HRegionInfo.getStartKey(Bytes.toBytes("TestTable,0001617355,1375740446704.68797fdaa6410c7f21d09444d649758c."))));

在这个地区它给了我:

作为字符串的键:0001617355

这是你需要的吗?

(我认为应该有一些方法可以通过 HTable 和 HRegion 来实现它。会尝试一下并让你知道)。

高温高压

于 2013-08-03T21:00:23.403 回答