首页 > 解决方案 > HBase prefixFilter 与 startRow 和 PageFilter 一起使用

问题描述

在 Hbase 中,我有这样的行键:userId:timestamp:objectId。我正在尝试创建这样的方法:

public List<Object> getObjectList(String userId, String startrowA, int limit) 

我想获取带有前缀 userId 的记录,并且还有分页(startrow+limit)。

那么我如何使用prefixFilter、pageFilter 来做到这一点呢?谢谢

标签: javahbaserow-key

解决方案


如果我正确理解了您的问题,您可以尝试使用FilterList该类并向其添加一些过滤器,这些过滤器共同使您能够实现您正在寻找的东西。尝试将以下过滤器添加到您的FilterList:

KeyOnlyFilter(): 只扫描行,不扫描列(使其更快)

FirstKeyOnlyFilter(): 同上,两个都用

PrefixFilter(prefix): 那是你的前缀

PageFilter(N): 只返回 N 行

此外,请确保设置正确的条件设置(即是否应满足所有这些条件或其中一些条件)。为了让他们都见面,使用FilterList.Operator.MUST_PASS_ALL


推荐阅读