package com.embracesource.edh.hbase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
import org.apache.hadoop.hbase.util.Bytes;
public class ParallelScannerTest {
public static void main(String[] args) throws Exception {
Configuration conf = HBaseConfiguration.create();
HTable table = new HTable(conf, "t");
String startKey = "1";
String stopKey = "3";
boolean isParallel = true;
String familyName = "f";
String columnName = "id";
String remainder = "2";
Scan scan = new Scan(Bytes.toBytes(startKey), Bytes.toBytes(stopKey));
int count = 0;
if (isParallel) {
scan.setParallel(true);
}
scan.setFilter(new SingleColumnValueFilter(Bytes.toBytes(familyName), Bytes
.toBytes(columnName), CompareOp.LESS, Bytes.toBytes(remainder)));
ResultScanner scanner = table.getScanner(scan);
Result r = scanner.next();
while (r != null) {
count++;
r = scanner.next();
}
System.out.println("++ Scanning finished with count : " + count + " ++");
scanner.close();
table.close();
}
}