簡體   English   中英

Hbase使用整數作為行鍵和字典順序

[英]Hbase use integer as row key and lexicographical order

我正在設計一個Hbase模式,其中行鍵應為整數。 我打算將java的掃描API與startrow和endrow一起使用整數值。

我想我可以使用'0'填充將字符串中的整數轉換為字典順序,但與使用整數的二進制表示形式相比,我的鍵要大得多。

我如何在byte[]轉換我的整數(例如int ),以便如果我對startrow和endrow使用相同的轉換,則掃描將返回期望值?

回答:

尼爾斯給了答案,我在這里找到了確認:

字節數組的Java比較器(字典)

Hbase從byte[]提取int並進行比較。

您可以通過使用hbase-client庫中的org.apache.hadoop.hbase.util.Bytes來實現。

從字節數組到整數:

Bytes.toInt(byteArray)

從int到字節數組:

Bytes.toBytes(intvalue)

其實我已經做了一個在線工具來生成我需要查詢行IDS在HBase的外殼的十六進制值就在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM