在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
