Filter Hbase模糊过滤器的范围?

Filter Hbase模糊过滤器的范围?,filter,hbase,fuzzy-search,Filter,Hbase,Fuzzy Search,我在Hbase中有一些数据。密钥的结构如下userID(整数)+dateTimeInMillis(长)。我过去使用以下代码获取范围之间的行: Scan scan = new Scan(startKey.array(), endKey.array()); scan.addFamily(Bytes.toBytes("")); ResultScanner result = table.getScanner(scan); 我需要知道用户ID和时间戳,以便查询行。 我的一位同事建议我使用fuzzyRow

我在Hbase中有一些数据。密钥的结构如下userID(整数)+dateTimeInMillis(长)。我过去使用以下代码获取范围之间的行:

Scan scan = new Scan(startKey.array(), endKey.array());
scan.addFamily(Bytes.toBytes(""));
ResultScanner result = table.getScanner(scan);
我需要知道用户ID和时间戳,以便查询行。 我的一位同事建议我使用fuzzyRowFilter扫描数据进行测试,我发现它非常有用。我和fuzzyRowFilter玩了一会儿。这就是我如何在一天内针对所有用户ID实现结果的方法

 List<Pair<byte[], byte[]>> keys = new ArrayList<Pair<byte[], byte[]>>();
        keys.add(new Pair<byte[], byte[]>(
                startKey.array(), new byte[] { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }));
        Filter filter = new FuzzyRowFilter(keys);
        Scan scan = new Scan();
        scan.addFamily(Bytes.toBytes("d"));
        scan.setFilter(filter);
List key=new ArrayList();
添加(新的一对)(
数组(),新字节[]{1,1,1,0,0,0,0,0,0,0,0,0});
过滤器=新的模糊过滤器(键);
扫描=新扫描();
scan.addFamily(Bytes.toBytes(“d”));
scan.setFilter(filter);
我无法根据我的用例调整此过滤器。我找不到任何方法来指定范围。我试着在网上搜索。大多数开发人员表示,此筛选器还不支持该范围。有些人建议使用多个过滤器。 除了使用多个过滤器之外,没有更好的方法来指定范围。 为了得到更好的结果,我尝试将密钥的最后一个字节设置为“1”,但没有达到预期效果。如果有人知道一种更好的方法来应用fuzzyRowFilter和range,或者已经实现了一个定制的range过滤器,如果我能从他那里得到任何想法来获得最大的性能,我将不胜感激

问候,