hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Rodionov <vladrodio...@gmail.com>
Subject Re: How to Speed up Prefix scan on column qualifier
Date Wed, 24 Aug 2016 17:26:59 GMT
If you are on HBase 1.+ you can use

Scan API:

setRowPrefixFilter(byte[] rowPrefix)


-Vlad

On Wed, Aug 24, 2016 at 5:28 AM, Ted Yu <yuzhihong@gmail.com> wrote:

> Please use the following API to set start row before calling
> hTable.getScanner(scan):
>
>   public Scan setStartRow(byte [] startRow) {
>
> On Wed, Aug 24, 2016 at 5:08 AM, Manjeet Singh <manjeet.chandhok@gmail.com
> >
> wrote:
>
> > 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
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message