我打算将流式天气数据存储在HBase中。我的行键是:
[5个字母的城市代码] [timestamp],其中时间戳为[date] [时间,以HH:mm:ss.SSS为准]
我只有一列称为“温度”。因此样本数据如下所示:
NEWYO20131121080932123 32.4
NEWYO20131121081034342 34.6
NEWYO20131121081156424 31.8
NEWYO20131121081223532 24.9
SINGA20131121091142563 23.1
SANFR20131121091214763 22.1
我想查询数据以在11月21日在8:11和8:13之间返回纽约的温度值(应返回第3行和第4行)
如何使用Java API为此编写查询。
我碰到了
Scan(byte[] startRow, byte[] stopRow)
,但是我不认为我可以使用它,因为在获取数据时我不知道确切的行键(因为键末尾的秒和毫秒)(是否可以将正则表达式用于行键?)
最佳答案
startkey是NEWYO20131121081100000
结束键是NEWYO20131121081400000
顺便说一句:
无需使用hbase本机API。
你可以检查http://phoenix.incubator.apache.org/
或https://github.com/zhang-xzhi/simplehbase
关于hadoop - 行键未知时的HBase查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20112639/