Java 是否可以在HBase中扫描在特定日期后更改的行?

Java 是否可以在HBase中扫描在特定日期后更改的行?,java,hbase,Java,Hbase,我需要扫描我的HBase表,只返回在给定时间段(例如:最后一个小时)内更改的行。请注意,我需要整行,而不仅仅是更改的单元格/值 该表有数十亿行和几个列族。它定期更新(有时更新整行,有时只更新给定的单元格)。查看文档,似乎TimestampFilter只返回“cells”,而在Get或Scan中使用setTimeRange只返回“columns”。我需要整行,可以通过api吗?如果没有,什么是有效的解决方法?使用TimestampFilter,您可以获得在给定时间段内写入的单元格。如果需要整行,则

我需要扫描我的HBase表,只返回在给定时间段(例如:最后一个小时)内更改的行。请注意,我需要整行,而不仅仅是更改的单元格/值


该表有数十亿行和几个列族。它定期更新(有时更新整行,有时只更新给定的单元格)。查看文档,似乎
TimestampFilter
只返回“cells”,而在
Get
Scan
中使用
setTimeRange
只返回“columns”。我需要整行,可以通过api吗?如果没有,什么是有效的解决方法?

使用TimestampFilter,您可以获得在给定时间段内写入的单元格。如果需要整行,则需要对该特定行键执行
get
。我认为这不是一个有效的方法
我建议您构建一个TimeSeries表。可以在行键中使用时间戳作为后缀吗? 请参阅第6.3.1节:


如果您需要使用时间戳作为前缀,那么您将需要执行
盐析操作

看一下salting:

事实上,您只对整个列进行更新,而只对单个列进行更新,这让生活变得困难。我在基于时间戳获取计数时遇到了类似的问题。由于时间戳位于单元格级别,并且我们只插入整行,所以我使用了一个基于时间戳(格式返回到日期)的映射reduce to group,然后进行计数。您可以使用类似的方法,只是您应该选择单个列,并且在修改这些列时使用。

我无法更改行键:(@Gevorg:那么您唯一的选择就是使用时间戳过滤器进行扫描后执行GET。