我打算将流式天气数据存储在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/

10-11 03:59