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

原文地址:https://www.cnblogs.com/sixiweb/p/3575132.html