Index: hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java (revision 1368026) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java (working copy) @@ -363,6 +363,27 @@ } return resultSets.toArray(new Result[resultSets.size()]); } + + /** + * Get nbRows rows from start row number. + * [start, start + nbRows - 1] + * How many RPCs are made is determined by the {@link Scan#setCaching(int)} + * setting (or hbase.client.scanner.caching in hbase-site.xml). + * @param start row number, between one and Integer.MAX_VALUE + * @param nbRows number of rows to return + * @return Between zero and nbRows RowResults. + * Scan is done if returned array is of zero-length (We never return null). + * @throws IOException + */ + public Result[] limit(int start, int nbRows){ + ArrayList resultList = new ArrayList(nbRows); + for(int i = 1;i < start && next() != null; i++); + Result next = null; + for(int i = 0; i < nbRows && (next = next()) != null; i++){ + resultList.add(next); + } + return resultList.toArray(new Result[resultList.size()]); + } public void close() { if (callable != null) {