hbase的过滤 Filter 之SingleColumnValueFilter
2012-12-28 01:27
471 查看
scan的操作:
hbase(main):002:0> scan 'scores'
ROW COLUMN+CELL
zkb column=course:, timestamp=1356629086396, value=90
zkb column=course:art, timestamp=1356629086401, value=87
zkb column=course:math, timestamp=1356629086398, value=97
zkb column=grade:, timestamp=1356629086385, value=5
1 row(s) in 0.2260 seconds
public static void scanBySingleColumnValueFilter(String tableName,
String family, String qual, String value) throws IOException {//这个地方需要注意value的数据类型,否则及其容易出错
HTable table = new HTable(conf, tableName);
byte[] b_family = Bytes.toBytes(family);
byte[] b_qual = Bytes.toBytes(qual);
byte[] b_value = Bytes.toBytes(value);
FilterList filterList = new FilterList();
SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter(
b_family, b_qual, CompareOp.EQUAL, b_value);
// singleColumnValueFilter.setFilterIfMissing(true);
filterList.addFilter(singleColumnValueFilter);
Scan scan = new Scan();
scan.setFilter(filterList);
scan.addColumn(b_family, b_qual);
ResultScanner rs = table.getScanner(scan);
showResultScanner(rs);
}
show结果
public static void showResultScanner(ResultScanner rs){
for(Result r:rs){
for(KeyValue kv : r.raw()){
System.out.print(new String(kv.getRow()) + " ");
System.out.print(new String(kv.getFamily()) + ":");
System.out.print(new String(kv.getQualifier()) + " ");
System.out.print(kv.getTimestamp() + " ");
System.out.println(new String(kv.getValue()));
}
}
}
在主函数里调用的时候
System.out.println("=========== scanBySingleColumnValueFilter =======");
HBaseClient.scanBySingleColumnValueFilter(tablename, "course", "art", "87");
结果:
=========== scanBySingleColumnValueFilter =======
zkb course:art 1357053302173 87。。。。没什么问题
hbase(main):002:0> scan 'scores'
ROW COLUMN+CELL
zkb column=course:, timestamp=1356629086396, value=90
zkb column=course:art, timestamp=1356629086401, value=87
zkb column=course:math, timestamp=1356629086398, value=97
zkb column=grade:, timestamp=1356629086385, value=5
1 row(s) in 0.2260 seconds
public static void scanBySingleColumnValueFilter(String tableName,
String family, String qual, String value) throws IOException {//这个地方需要注意value的数据类型,否则及其容易出错
HTable table = new HTable(conf, tableName);
byte[] b_family = Bytes.toBytes(family);
byte[] b_qual = Bytes.toBytes(qual);
byte[] b_value = Bytes.toBytes(value);
FilterList filterList = new FilterList();
SingleColumnValueFilter singleColumnValueFilter = new SingleColumnValueFilter(
b_family, b_qual, CompareOp.EQUAL, b_value);
// singleColumnValueFilter.setFilterIfMissing(true);
filterList.addFilter(singleColumnValueFilter);
Scan scan = new Scan();
scan.setFilter(filterList);
scan.addColumn(b_family, b_qual);
ResultScanner rs = table.getScanner(scan);
showResultScanner(rs);
}
show结果
public static void showResultScanner(ResultScanner rs){
for(Result r:rs){
for(KeyValue kv : r.raw()){
System.out.print(new String(kv.getRow()) + " ");
System.out.print(new String(kv.getFamily()) + ":");
System.out.print(new String(kv.getQualifier()) + " ");
System.out.print(kv.getTimestamp() + " ");
System.out.println(new String(kv.getValue()));
}
}
}
在主函数里调用的时候
System.out.println("=========== scanBySingleColumnValueFilter =======");
HBaseClient.scanBySingleColumnValueFilter(tablename, "course", "art", "87");
结果:
=========== scanBySingleColumnValueFilter =======
zkb course:art 1357053302173 87。。。。没什么问题
相关文章推荐
- hbase SingleColumnValueFilter 列不存在 无法过滤
- 关于HBase的SingleColumnValueFilter的坑
- SingleColumnValueFilter 过滤数据时候,返回的数据不正常问题
- 使用HBASE用到的几个filter SingleColumnValueFilter,RowFilter,ValueFilter
- hbase内置过滤器SingleColumnValueFilter条件查询注意点
- hbase SingleColumnValueFilter用法
- Hbase通过SingleColumnValueFilter进行值查询
- hbase scan中匪夷所思的SingleColumnValueFilter和COLUMNS
- HBase shell 使用SingleColumnValueFilter
- 使用easyUI datagrid的filter时,当value是空时候如何过滤
- [待解决]ColumnPrefixFilter 不能过滤出全部满足条件的,
- 【转】【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
- 【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
- HBase--DependentColumnFilter(参考例过滤器 )详解
- hbase的过滤 Filter 之PrefixFilter
- 【异常处理】Incorrect string value: '\xF0\x90\x8D\x83...' for column... Emoji表情字符过滤的Java实现
- Distinct Values in Filter Dropdown(Distinct Sharpoint List Column Value)
- 利用filter()函数过滤掉非回数
- HBase中Filter总结
- MySQL5错误 #1264 "Out of range value adjusted for column ..."