HBase中多Filter查询示例


在Hbase查询中有时需要用到多个Filter关联的查询。

代码如下:

  ArrayList<Filter> listForFilters = new ArrayList<Filter>();

        // 当前Filter
        Filter filter = null;
        for (String taskIDTmp : taskIDArray)
        {
            if ((null != taskIDTmp) && (!"".equals(taskIDTmp)))
            {
                filter = new PrefixFilter(Bytes.toBytes(taskIDTmp + "_"));// 当前taskID
                listForFilters.add(filter);
            }
        }
        // 通过将operator参数设置为Operator.MUST_PASS_ONE,达到list中各filter为"或"的关系
        // 默认operator参数的值为Operator.MUST_PASS_ALL,即list中各filter为"并"的关系
        Filter filterList = new FilterList(FilterList.Operator.MUST_PASS_ONE,
                listForFilters);

        scan.setFilter(filterList);// 多条件过滤

 

 

本文已同步至大数据技术http://cloudera.org.cn ),文章地址:http://cloudera.org.cn/?p=28


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM