hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Smith <ryan.justin.sm...@gmail.com>
Subject Re: Paging On HBASE like solr
Date Thu, 22 Nov 2012 15:56:37 GMT
Thanks Harsh,

Thats how I understood hbase table scans to work currently.  However I need
true sequential rowscans.  I currently run a MR job to create solr indexes
which give me sequential access to the rowkey data.  Just wondering if
HBase offered a native solution as of yet.

Thanks again,-Ryan

On Thu, Nov 22, 2012 at 9:50 AM, Harsh J <harsh@cloudera.com> wrote:

> Ryan,
>
> Not sure I understood what you meant. As I see it, there are two
> things when you have a start key and need a limited scan:
>
> - Stop at 100th consecutive row, even if there are holes in the actual
> consecutive key range.
> -- This is possible with a start key plus boundary stop key that is
> 100 + start key, correct? You may get < 100 but only cause you have
> defined the scanner to behave that way.
>
> - Stop at 100th consecutive available-data row.
> -- This is possible with a naive counter as you loop over a scanner
> result object with just a start key, correct? You may get < 100 in a
> whole count iteration, only if there is no further data to fetch in
> the table.
>
> A result scanner object does iterate over the specified range (or the
> lack thereof, which evaluates to table's limits) in sequential manner.
> The result scanner object's general iterative next() doesn't return a
> whole list of rows in one call.
>
> Would this not work for you?
>
> On Thu, Nov 22, 2012 at 5:50 PM, Ryan Smith <ryan.justin.smith@gmail.com>
> wrote:
> > But then the range might not be respected.      I think another way to
> ask
> > is, is it possible to iterate over the rowkeys in an hbase table
> > sequentially?
> >
> > On Thu, Nov 22, 2012 at 7:17 AM, Doug Meil <
> doug.meil@explorysmedical.com>wrote:
> >
> >>
> >> Hi there-
> >>
> >> Then don't use an end-row and break out of the loop when you hit 100
> rows.
> >>
> >>
> >>
> >>
> >>
> >> On 11/22/12 5:16 AM, "Vajrakumar" <vajra.kumar@pointcross.com> wrote:
> >>
> >> >Hello Doug,
> >> >First of all thanks for taking time to reply.
> >> >
> >> >As per my knowledge goes  below two lines take the rowkey as a
> parameter
> >> >for
> >> >representing start and end.
> >> >
> >> >scan.setStartRow( Bytes.toBytes("row"));                   // start
> key is
> >> >inclusive
> >> >scan.setStopRow( Bytes.toBytes("row" +  (char)0));  // stop key is
> >> >exclusive
> >> >
> >> >
> >> >But,
> >> >In my case irrespective of rowkey I need 100 rows always. If I go with
> >> >this
> >> >concept if 5 rows are deleted in between 1 to 100 then it will give me
> 95
> >> >but not 100.
> >> >But for me always I need 100 (I mean rowCount whatever I pass) rows.
> >> >
> >> >
> >> >And as after usage there may be deletions of rows or adding and all on
> >> >DB, I
> >> >can't keep track of rows for this paging..
> >> >Paging needs a fixed number of rows in each page always.
> >> >
> >> >
> >> >
> >> >
> >> >-----Original Message-----
> >> >From: Doug Meil [mailto:doug.meil@explorysmedical.com]
> >> >Sent: 22 November 2012 00:21
> >> >To: user@hbase.apache.org
> >> >Subject: Re: Paging On HBASE like solr
> >> >
> >> >
> >> >Hi there,
> >> >
> >> >Pretty similar approach with Hbase.  See the Scan class.
> >> >
> >> >http://hbase.apache.org/book.html#data_model_operations
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >On 11/21/12 1:04 PM, "Vajrakumar" <vajra.kumar@pointcross.com> wrote:
> >> >
> >> >>Hello all,
> >> >>As we do paging in solr using start and rowCount I need to implement
> >> >>same through hbase.
> >> >>
> >> >>In Detail:
> >> >>I have 1000 rows data which I need to display in 10 pages each page
> >> >>containing 100 rows.
> >> >>So on click of next page we will send current rowStart
> >> >>(1,101,201,301,401,501...) and rowCount (100 for all the pages) to a
> >> >>method which will query hbase and return me the result.
> >> >>
> >> >>One solution is to always query more than rowCount starting from th
> >> >>rowkey of last passed row, and in a for loop count depending on row
> key
> >> >>and return when it becomes 100 (i.e., rowCount) . But its poor
> solution
> >> >>i know.
> >> >>
> >> >>Thanks in advance.
> >> >>
> >> >>Sent from Samsung Mobile
> >> >
> >> >
> >> >
> >> >
> >>
> >>
> >>
>
>
>
> --
> Harsh J
>

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