2013-11-21 55 views
1

我打算將流式天氣數據存儲在HBase中。我的rowkey是: [5個字母的城市代碼] [時間戳]其中時間戳是[日期] [時間如HH:mm:ss.SSS] 我只有一列叫做「溫度」。因此,樣本數據會看起來像:HBase查詢何時不完全知道rowkey

NEWYO20131121080932123 32.4 
NEWYO20131121081034342 34.6 
NEWYO20131121081156424 31.8 
NEWYO20131121081223532 24.9 
SINGA20131121091142563 23.1 
SANFR20131121091214763 22.1 

我要查詢的數據8:11和8:13之間返回我的溫度值在紐約11月21日(行3和4應該歸還)

如何使用Java API爲此編寫查詢。

我碰到Scan(byte[] startRow, byte[] stopRow),但我不認爲我可以使用,因爲我不知道確切的rowkey而檢索數據

(秒,並在關鍵的最後毫秒的原因)

(是否有可能使用正則表達式的rowkeys?)

回答

0

你可以使用RowFilter。下面的代碼將有助於

Filter filter2 = new RowFilter(CompareFilter.CompareOp.EQUAL, 
new RegexStringComparator("regex")); 
scan.setFilter(filter2); 
ResultScanner scanner2 = table.getScanner(scan); 
for (Result res : scanner2) { 
    System.out.println(res); 
}