[英]Hbase use integer as row key and lexicographical order
我正在設計一個Hbase模式,其中行鍵應為整數。 我打算將java的掃描API與startrow和endrow一起使用整數值。
我想我可以使用'0'
填充將字符串中的整數轉換為字典順序,但與使用整數的二進制表示形式相比,我的鍵要大得多。
我如何在byte[]
轉換我的整數(例如int
),以便如果我對startrow和endrow使用相同的轉換,則掃描將返回期望值?
回答:
尼爾斯給了答案,我在這里找到了確認:
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.