首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于特定HFile作为根的HFile扫描

基于特定HFile作为根的HFile扫描
EN

Stack Overflow用户
提问于 2019-02-14 07:59:59
回答 1查看 265关注 0票数 5

是否有具有下列行为的扫描/筛选API?

在给定的时间范围内,我希望扫描器包含来自HFiles的超出范围的数据,包括在范围内的HFiles中的行键。这样做的目的是扫描所有HFiles的内存中的索引,但只从磁盘中获取数据,以便从位于范围内的HFiles中获取行键。

例如,如果HFile1在范围内,而HFile2超出了范围,而rowkey1HFile1中有任何数据,那么我也希望从HFile2获得rowkey1的所有列,就好像它在范围内一样。另一方面,如果rowkey2包含在HFile2中,而没有包含在HFile1中,那么索引扫描器应该跳到下一行键。

用例是加载在最后X小时内修改过的整行(甚至仅在一列上),避免对冗余数据进行全扫描或磁盘扫描。这将被集成到Spark/MR应用程序中,可能是基于TableSnapshotInputFormat的,所以我想如果涉及到这一点,我可以为HRegion、HStore或其他什么发布一些自定义代码。

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2019-02-27 08:42:52

如果这是用例,

用例是加载最后X小时内修改过的整行(甚至仅在一列上),避免对冗余数据进行全扫描或磁盘扫描

为什么带有时间戳范围的扫描不能工作?HBase JAVA org.apache.hadoop.hbase.client.Scan.setTimeRange(long, long)以一个时间范围作为输入&它只获取在这个时间范围内修改的行。

如果您希望它更灵活,那么应用一个KeyOnlyFilter()并获取所有行键。稍后,您可以根据行计数执行批处理Get

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54685606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档