hbase使用整数作为行键和字典顺序

slmsl1lt  于 2021-06-10  发布在  Hbase
关注(0)|答案(1)|浏览(467)

我正在设计一个hbase模式,其中行键应该是整数。我打算使用带有startrow和带有整数值的endrow的java扫描api。
我想我可以用 '0' 填充以尊重词典顺序,但我的键将比使用整数的二进制表示大得多。
如何转换整数(比如 int )在 byte[] 如果我对startrow和endrow使用相同的转换,那么扫描将返回预期的值?
回答:
尼尔斯给出了答案,我在这里找到了答案:
字节数组的java比较器(词典)
糖酶提取物 intbyte[] 比较一下。

2ul0zpep

2ul0zpep1#

您可以使用hbase客户机库中的org.apache.hadoop.hbase.util.bytes来实现这一点。
从字节数组到int:

Bytes.toInt(byteArray)

从int到字节数组:

Bytes.toBytes(intvalue)

实际上,我已经做了一个在线工具来生成十六进制值,我需要在hbase shell中查询行id。

相关问题