0
我有一個hbase表,rowkey,像row1,row2,row3 ....和rowN,我想要的是從row100到row200的rowkey,如何編寫查詢子句或設計hbase表查詢更快?如何做hbase範圍掃描?
我有一個hbase表,rowkey,像row1,row2,row3 ....和rowN,我想要的是從row100到row200的rowkey,如何編寫查詢子句或設計hbase表查詢更快?如何做hbase範圍掃描?
這將適用於ASCII行鍵。請注意,ENDROW是獨佔的。
下應該是一個良好的開端:
scan 'mytable', {STARTROW => 'row100', ENDROW => 'row201'}
在Java(見apidocs):
Scan scan = new Scan(Bytes.ToBytes("row100"),Bytes.toBytes("row201");
scan.setFilter(colFilter);
scan.setOtherStuff...
ResultScanner scanner = table.getScanner(scan);
for (Result result = scanner.next(); result != null; result = scanner.next()) {
....
}
表的設計也許應該是一個獨立的問題,你應該增加有關道路的詳細信息您的數據,訪問模式和其他需求。
如果行鍵中沒有數字,比如行鍵的格式是AAA,BBB,BBC,DDD ....那麼我們不知道位置100和200中的rowkey如此如何獲得它們之間的行? – Jason
對於STARTROW,這不是問題。對於ENDROW,您可以使用您需要的最後一個字符後的第一個下一個字符。看看:http://www.ascii-code.com/這也可以通過編程來完成。 – Gevorg