[ 
https://issues.apache.org/jira/browse/HBASE-3453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984055#action_12984055
 ] 

ncanis commented on HBASE-3453:
-------------------------------


if we use ResultScanner for paging, follow code.

(I found from googling)
http://devblog.streamy.com/2009/04/23/hbase-row-key-design-for-paging-limit-offset-queries/

that will be extremely slow. (rows are 50,0000 over)

I think we should use Filter for specified position



> How about RowPaginationFilter
> -----------------------------
>
>                 Key: HBASE-3453
>                 URL: https://issues.apache.org/jira/browse/HBASE-3453
>             Project: HBase
>          Issue Type: Wish
>          Components: client
>    Affects Versions: 0.90.1
>         Environment: windows 7
>            Reporter: ncanis
>             Fix For: 0.90.0
>
>         Attachments: RowPaginationFilter.java
>
>
> I know hbase has already PageFilter.
> But, sometime we need to get row data from specified position.
> * only for newbie:
>   If you want to write custom Filter, you also add filter class to an hbase 
> server classpath.
> {code:title=RowPaginationFilter|borderStyle=solid}
> /**
>        * Constructor that takes a maximum page size.
>        * 
>        * get row from offset to offset+limit ( offset<= row<=offset+limit )
>        * @param offset start position
>        * @param limit count from offset position
>        */
>       public RowPaginationFilter(final int offset, final int limit) {
>               this.offset = offset;
>               this.limit = limit;
>       }
>       //true to exclude row, false to include row.
>       @Override
>       public boolean filterRow() {    
>       
>               boolean isExclude = this.rowsAccepted < this.offset || 
> this.rowsAccepted>=this.limit+this.offset;
>               rowsAccepted++;
>               return isExclude;
>       }
> {code}
> -----------------

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to