zoukankan      html  css  js  c++  java
  • hbase 多个过滤器组合(列表)

    使用FilterList要保证过滤器的顺序需要使用List<Filter>

     private static void mutilFilterData() throws IOException{
            Table table = helper.getConnection().getTable(TableName.valueOf("testtable"));
    
            List<Filter> filters = new ArrayList<Filter>();
    
            Filter filter1 = new RowFilter(CompareOperator.GREATER_OR_EQUAL,
                    new BinaryComparator(Bytes.toBytes("rowKey60")));
            filters.add(filter1);
    
            Filter filter2 = new RowFilter(CompareOperator.LESS_OR_EQUAL,
                    new BinaryComparator(Bytes.toBytes("rowKey69")));
            filters.add(filter2);
    
            Filter filter3 = new QualifierFilter(CompareOperator.EQUAL,
                    new RegexStringComparator("username"));
            filters.add(filter3);
    
            FilterList filterList1 = new FilterList(FilterList.Operator.MUST_PASS_ALL,filters);
    
            Scan scan = new Scan();
            scan.setFilter(filterList1);
            ResultScanner scanner1 = table.getScanner(scan);
            System.out.println("Results of scan #1 - MUST_PASS_ALL:");
            int n = 0;
            for (Result result : scanner1) {
                for (Cell cell : result.rawCells()) {
                    System.out.println("Cell: " + cell + ", Value: " +
                            Bytes.toString(cell.getValueArray(), cell.getValueOffset(),
                                    cell.getValueLength()));
                    n++;
                }
            }
            scanner1.close();
            table.close();
    
        }

    输出结果:

    Cell: rowKey60/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user60
    Cell: rowKey61/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user61
    Cell: rowKey62/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user62
    Cell: rowKey63/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user63
    Cell: rowKey64/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user64
    Cell: rowKey65/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user65
    Cell: rowKey66/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user66
    Cell: rowKey67/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user67
    Cell: rowKey68/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user68
    Cell: rowKey69/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user69
  • 相关阅读:
    oracle数据库sql中文乱码问题,字符编码环境变量
    oracle数据库序列自增id
    上线注意事项
    impdp 导出导入注意事项
    linux 上不同用户权限问题
    plsql 工具命令窗口执行sql脚本问题
    oracle创建用户
    Redis会遇到的15个坑
    JavaScript的标准库
    JavaScript的运算符
  • 原文地址:https://www.cnblogs.com/asker009/p/10703134.html
Copyright © 2011-2022 走看看