一、根据rowkey模糊查询
public static List<List<HashMap<String, String>>> queryByFuzzyRowkey(String host, String tableName,
String fuzzyRowkey) throws IOException {
HBaseConfig hBaseConfig = new HBaseConfig(host);
HConnection connection = HConnectionManager.createConnection(hBaseConfig.getConfig());
HTableInterface table = connection.getTable(tableName);
Scan scan = new Scan();
Filter filter = new RowFilter(CompareOp.EQUAL, new RegexStringComparator(fuzzyRowkey));
scan.setFilter(filter);
ResultScanner scanner = table.getScanner(scan);
List<List<HashMap<String, String>>> list = new ArrayList<List<HashMap<String, String>>>();
for (Result result : scanner) {
List<HashMap<String, String>> listRowKey = new ArrayList<HashMap<String, String>>();
for (KeyValue rowKV : result.raw()) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("rowKey", new String(rowKV.getRow()));
map.put("timeStamp", Long.toString(rowKV.getTimestamp()));
map.put("family", new String(rowKV.getFamily()));
map.put("qualifier", new String(rowKV.getQualifier()));
map.put("value", new String(rowKV.getValue()));
listRowKey.add(map);
}
System.out.println(listRowKey);
list.add(listRowKey);
}
return list;
}
调用示例:
queryByFuzzyRowkey("10.199.231.199", "abner-spec", ".=1453431240=.");