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
  • 相关阅读:
    关于抑或
    【vue】条件渲染 v-if v-else
    【vue】vue的目录结构、项目流程、vue-router
    【vue】在vue中引入iview
    【vue】vue如何创建一个项目
    【jquery】jquery怎么实现点击一个按钮控制一个div的显示和隐藏
    【angularjs】ng-model controller中取不到值(input)
    打印机增强软件pdfpro
    vagrant 安装ubuntu12.04 64 bit
    debian 7 stable 不能编译android源码
  • 原文地址:https://www.cnblogs.com/asker009/p/10703134.html
Copyright © 2011-2022 走看看