hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manjeet Singh <manjeet.chand...@gmail.com>
Subject Re: How to Speed up Prefix scan on column qualifier
Date Wed, 24 Aug 2016 19:05:53 GMT
Get also support List object

On Thu, Aug 25, 2016 at 12:32 AM, Ted Yu <yuzhihong@gmail.com> wrote:

> Get is used to retrieve single row.
>
> If Get serves your need, you don't need PrefixFilter.
>
> On Wed, Aug 24, 2016 at 11:58 AM, Manjeet Singh <
> manjeet.chandhok@gmail.com>
> wrote:
>
> > I am using 1.2.1
> >
> > I have tried these but actually ResultScanner took long time
> > is their any way to use Get with filter?
> > HBase already exposed setFilter method on Get class but its not working
> >
> > On Wed, Aug 24, 2016 at 10:56 PM, Vladimir Rodionov <
> > vladrodionov@gmail.com>
> > wrote:
> >
> > > 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
> > > > >
> > > >
> > >
> >
> >
> >
> > --
> > luv all
> >
>



-- 
luv all

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