单列值过滤器(SingleColumnValueFilter)
用法一:单列值信息过滤器( SingleColumnValueFilter)
过滤出具体行记录
/**
* 通过具体列(col)的查询表相关记录
* @param tableName 表
* @param family 列族名
* @param column 列名/Quilifier
* @param col 列数据(根据需要的类型更改 int ,String long 等等)
*/
public static void selectRowByCol(String tableName, String family, String column, long col) {
Table table = null;
try {
table = initHbase().getTable(TableName.valueOf(tableName));
FilterList filterList = new FilterList(FilterList.Operator.MUST_PASS_ALL);
//hbase 存的是字节数组
SingleColumnValueFilter filter =
new SingleColumnValueFilter(Bytes.toBytes(family), Bytes.toBytes(column), CompareOperator.EQUAL, Bytes.toBytes(col));
filterList.addFilter(filter);
Scan scan = new Scan();
scan.setFilter(filterList);
scan.addColumn(Bytes.toBytes(family),Bytes.toBytes(column));//一定要有
ResultScanner rs = table.getScanner(scan);
for (Result r : rs) {
//r中有一行相关信息,需要什么可以取什么
for (Cell cell : r.rawCells()) {
System.out.println("Rowkey : " + Bytes.toString(r.getRow()) +