Hi All,
I have below code where I have row key like 9865327845_#RandomChar
I want to perform prefix scan I tryed with ResultScanner which has
performance impact
I have seen in some articles people saying about Get and setFilter but its
not working
can anyone suggest me better way, below is my code
public static HashSet getResultByPreFixFilterScan(String rowkeys){
Scan scan = new Scan();
PrefixFilter prefixFilter = new PrefixFilter(rowkeys.getBytes());
scan.setFilter(prefixFilter);
ResultScanner resultScanner = null;
try {
resultScanner = hTable.getScanner(scan);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
HashSet<String> rowKeySet=new HashSet<String>();
//Result result = table.get(g);
for (Result results : resultScanner) {
for(KeyValue kv : results.raw()){
rowKeySet.add(new String(kv.getRow()));
}
}
return rowKeySet;
}
can we perform prefix by
Filter filter = new QualifierFilter(CompareFilter.CompareOp.EQUAL, new
BinaryComparator(Bytes.toBytes(rowkeys)));
Thanks
Manjeet
--
luv all