Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中基于时间戳获取HBase表行_Java_Hadoop_Hbase - Fatal编程技术网

Java中基于时间戳获取HBase表行

Java中基于时间戳获取HBase表行,java,hadoop,hbase,Java,Hadoop,Hbase,过去几周我一直在HBase工作。我的问题是: 我有一个HBase表,有100条记录,每条记录在一个列族中有三列,只有一个列族。现在我想根据时间戳检索行。表示应首先检索最后添加的行。就像后进先出。现在HBase中是否提供此功能?如果是,我该怎么做?我使用的是0.98.3 注意:在插入数据时,我没有手动提到时间戳 我正试图用Java语言来做这件事 关于行是按行键(升序)按字典顺序自然排序的,执行完整表扫描时根本不涉及时间戳,检索到的第一行将是最低的一行 这是字符串行键的顺序: STRING ROW

过去几周我一直在HBase工作。我的问题是:

我有一个HBase表,有100条记录,每条记录在一个列族中有三列,只有一个列族。现在我想根据时间戳检索行。表示应首先检索最后添加的行。就像后进先出。现在HBase中是否提供此功能?如果是,我该怎么做?我使用的是0.98.3

注意:在插入数据时,我没有手动提到时间戳

我正试图用Java语言来做这件事


关于

行是按行键(升序)按字典顺序自然排序的,执行完整表扫描时根本不涉及时间戳,检索到的第一行将是最低的一行

这是字符串行键的顺序:

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手册的本节: