Java中基于时间戳获取HBase表行
过去几周我一直在HBase工作。我的问题是: 我有一个HBase表,有100条记录,每条记录在一个列族中有三列,只有一个列族。现在我想根据时间戳检索行。表示应首先检索最后添加的行。就像后进先出。现在HBase中是否提供此功能?如果是,我该怎么做?我使用的是0.98.3 注意:在插入数据时,我没有手动提到时间戳 我正试图用Java语言来做这件事Java中基于时间戳获取HBase表行,java,hadoop,hbase,Java,Hadoop,Hbase,过去几周我一直在HBase工作。我的问题是: 我有一个HBase表,有100条记录,每条记录在一个列族中有三列,只有一个列族。现在我想根据时间戳检索行。表示应首先检索最后添加的行。就像后进先出。现在HBase中是否提供此功能?如果是,我该怎么做?我使用的是0.98.3 注意:在插入数据时,我没有手动提到时间戳 我正试图用Java语言来做这件事 关于行是按行键(升序)按字典顺序自然排序的,执行完整表扫描时根本不涉及时间戳,检索到的第一行将是最低的一行 这是字符串行键的顺序: STRING ROW
关于行是按行键(升序)按字典顺序自然排序的,执行完整表扫描时根本不涉及时间戳,检索到的第一行将是最低的一行 这是字符串行键的顺序:
STRING ROW
0 \x30
00 \x30\x30
0000 \x30\x30\x30\x30
0001 \x30\x30\x30\x31
0002 \x30\x30\x30\x32
...
0010 \x30\x30\x31\x30
1 \x31
10 \x31\x30
2 \x32
a \x61
ab \x61\x62
...
zzzz \x7A\x7A\x7A\x7A
INT ROW
1 \x00\x00\x00\x01
2 \x00\x00\x00\x02
3 \x00\x00\x00\x03
4 \x00\x00\x00\x04
...
100 \x00\x00\x00\x64
...
10000 \x00\x00\x27\x10
...
MAX_INT \x7F\xFF\xFF\xFF
这是4字节有符号整数行键的顺序:
STRING ROW
0 \x30
00 \x30\x30
0000 \x30\x30\x30\x30
0001 \x30\x30\x30\x31
0002 \x30\x30\x30\x32
...
0010 \x30\x30\x31\x30
1 \x31
10 \x31\x30
2 \x32
a \x61
ab \x61\x62
...
zzzz \x7A\x7A\x7A\x7A
INT ROW
1 \x00\x00\x00\x01
2 \x00\x00\x00\x02
3 \x00\x00\x00\x03
4 \x00\x00\x00\x04
...
100 \x00\x00\x00\x64
...
10000 \x00\x00\x27\x10
...
MAX_INT \x7F\xFF\xFF\xFF
如果需要将扫描作为后进先出(LIFO)工作,则必须将反转时间戳作为行键的前缀(尽管由于热插销,不建议将此设计用于重写环境)
如果不反转时间戳,它将作为LILO工作
有关更多信息,请参阅HBase手册的本节: