hbase扫描

dly7yett  于 2021-06-09  发布在  Hbase
关注(0)|答案(1)|浏览(538)

是否存在具有以下行为的扫描/筛选api?
给定的时间范围,我希望扫描器包括来自范围外的hfiles的数据,对于范围内的hfiles中包含的行键。其思想是扫描所有hfiles的内存索引,但仅从磁盘获取范围内hfiles的行键的数据。
例如,如果 HFile1 在范围内并且 HFile2 超出范围,并且 rowkey1 有数据吗 HFile1 ,我想得到 rowkey1HFile2 就像在射程内一样。另一方面,如果 rowkey2 包含在 HFile2 但不是在 HFile1 ,索引扫描程序应该直接跳到下一行键。
用例是加载在过去x小时内修改过的整行(甚至只在一列上),避免对冗余数据进行完全扫描或任何磁盘扫描。这将被集成到spark/mr应用程序中,可能是基于tablesnapshotinputformat的,所以我想我可以为hregion、hstore或任何东西提供一些定制代码。
谢谢

wmtdaxz3

wmtdaxz31#

如果这是用例,
用例是加载在过去x小时内修改过的整行(甚至只在一列上),避免对冗余数据进行完全扫描或任何磁盘扫描
为什么带时间戳范围的扫描不起作用?hbase java api org.apache.hadoop.hbase.client.Scan.setTimeRange(long, long) 以时间范围作为输入&它只获取在此时间范围内修改过的行。
如果你想让它更灵活,那就用 KeyOnlyFilter() 拿到所有的钥匙。以后你可以做一批 Get 基于行数。

相关问题