HBase Filter 使用过滤器: //集合用于存储过滤条件 List<String> array = new ArrayList<String>(); //加入过滤条件 array.add("action,event,TreasureDetail"); array.add("action,label,Enter"); //调用相应过滤方法 HBaseManager.setAndFilter(scan, array); 定义过滤方法: public static void setAndFilter(Scan scan, List<String> array) { FilterList filterList = new FilterList(); for (String v : array) { //循环判断每个条件 String[] s = v.split(","); filterList.addFilter(new SingleColumnValueFilter(//将条件加入过滤器 Bytes.toBytes(s[0]), Bytes.toBytes(s[1]), CompareOp.EQUAL, Bytes.toBytes(s[2]) ) ); } scan.setFilter(filterList); } 参数详解: org.apache.hadoop.hbase.filter.CompareFilter.CompareOp CompareOp.GREATER//大于 CompareOp.GREATER_OR_EQUAL//大于或者登录 CompareOp.EQUAL//等于 CompareOp.NOT_EQUAL//不等与 CompareOp.NO_OP //无操作 CompareOp.LESS //小于 CompareOp.LESS_OR_EQUAL //小于或者等于 FilterList filterList = new FilterList(); //各个条件之间是且的关系(默认) FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ONE); //各个条件之间是或的关系 //方法传入的List集合参数中包含了一个个的条件 FilterList.Operator.MUST_PASS_ONE//OR FilterList.Operator.MUST_PASS_ALL //AND org.apache.hadoop.hbase.filter.FilterList org.apache.hadoop.hbase.filter.SingleColumnValueFilter SingleColumnValueFilter(byte[] family, byte[] qualifier, CompareOp compareOp, byte[] value) */ /** 使用过滤器: FilterList list = new FilterList(); HBaseManager.addTimeStampExcludeFilter(list, HTableConstant.Bytes.toBytes("imei"), HTableConstant.Bytes.toBytes("date"), Bytes.toBytes(date) ); scan.setFilter(list); 定义过滤器方法: public static void addTimeStampExcludeFilter(FilterList list, byte[] family, byte[] qualifier, byte[] timestamp) { SingleColumnValueExcludeFilter filter = new SingleColumnValueExcludeFilter(family, qualifier, CompareOp.GREATER_OR_EQUAL, timestamp); list.addFilter(filter); } 参数详解: list, //FilterList对象 HTableConstant.Bytes.toBytes("imei"),//列族 HTableConstant.Bytes.toBytes("date"), //列 Bytes.toBytes(date)//value org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter //简单的列值排除 SingleColumnValueExcludeFilter(byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value) family:列族 qualifier:列 compareOp:过滤条件 value:值 org.apache.hadoop.hbase.filter.SingleColumnValueFilter //简单的列值包含 SingleColumnValueFilter(byte[] family, byte[] qualifier, CompareFilter.CompareOp compareOp, byte[] value) family:列族 qualifier:列 compareOp:过滤条件 value:值 org.apache.hadoop.hbase.filter.SkipFilter.SkipFilter(Filter filter) //跳过 ase.filter.QualifierFilter //限定词过滤 QualifierFilter(CompareOp op, WritableByteArrayComparable qualifierComparator) op:过滤条件 qualifierComparator: