gpt4 book ai didi

java - Hbase使用整数作为行键和字典顺序

转载 作者:行者123 更新时间:2023-12-01 09:18:54 24 4
gpt4 key购买 nike

我正在设计一个 Hbase 架构,其中行键应该是整数。我打算使用 java 中的 scan API 以及带有整数值的 startrow 和 endrow。

我想我可以用 '0' 填充将整数转换为字符串,以尊重字典顺序,但我的键将比使用整数的二进制表示形式大得多。

如何在 byte[] 中转换我的整数(比如说 int),以便如果我对 startrow 使用相同的转换,扫描将返回预期值和endrow?

答案:

尼尔斯给出了答案,我在这里找到了确认:

Java Comparator for byte array (lexicographic)

Hbase 从 byte[] 中提取 int 并进行比较。

最佳答案

您可以使用 hbase-client 库中的 org.apache.hadoop.hbase.util.Bytes 来执行此操作。

从字节数组到int:

Bytes.toInt(byteArray)

从 int 到字节数组:

Bytes.toBytes(intvalue)

我实际上制作了一个在线工具来生成在 hbase shell 中查询 row-ids 所需的十六进制值 right here

关于java - Hbase使用整数作为行键和字典顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40302145/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com