首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

Hbase过滤器二

2013-10-27 
Hbase过滤器2根据限定符只返回一行数据,不存在:public static void addQualifierFilter(FilterList list,

Hbase过滤器2

根据限定符只返回一行数据,不存在:

public static void addQualifierFilter(FilterList list, byte[] family, byte[] qualifier) {        byte[] fakeValue = Bytes.toBytes("DOESNOTEXIST");        SingleColumnValueFilter filter =             new SingleColumnValueFilter(family, qualifier, CompareOp.NOT_EQUAL, fakeValue);          filter.setFilterIfMissing(true);        list.addFilter(filter);    }

?根据限定符选出不包含没有数据的:

 public static void addQualifierExcludeFilter(FilterList list, byte[] family, byte[] qualifier) {    SkipFilter filter = new SkipFilter(new QualifierFilter(CompareOp.NOT_EQUAL, new BinaryComparator(qualifier)));        list.addFilter(filter);    }

?根据时间来过滤:

public static void addTimeStampFilter(FilterList list, byte[] family, byte[] qualifier, byte[] timestamp) {        SingleColumnValueFilter filter =             new SingleColumnValueFilter(family, qualifier, CompareOp.GREATER_OR_EQUAL, timestamp);        list.addFilter(filter);    }

?根据时间来过滤(不包含指定的时间):

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);    }

?使用方法:

FilterList list = new FilterList();HBaseManager.addQualifierFilter(list, HTableConstant.USER_HOBBY_HOBBY_COLUMN_FAMILY, HTableConstant.USER_HOBBY_USER_ID_QUALIFIER);HBaseManager.addTimeStampFilter(list,HTableConstant.USER_HOBBY_HOBBY_COLUMN_FAMILY,HTableConstant.USER_HOBBY_DATE_QUALIFIER, Bytes.toBytes(date));scan.setFilter(list);

?

热点排行