Yes, I just want to limit the scan with the table by the table row key. And I don't pass the startRow and endRow in GetList method. I just pass the startRow and endRow to coprocessorExec method. My Code is as below:
>>>>> results = table.coprocessorExec(IEndPoint_SA.class, startrow, endrow, >>>>> new Batch.Call<IEndPoint_SA,Hashtable<String,Hashtable>>() { >>>>> public Hashtable<String,Hashtable> call(IEndPoint_SA >> instance)throws IOException{ >>>>> Hashtable<String,Hashtable> s = null; >>>>> try { >>>>> s=instance.GetList(); >>>>> } catch (ParseException e) { >>>>> // TODO Auto-generated catch block >>>>> e.printStackTrace(); >>>>> } >>>>> return s; >>>>> } >>>>> }); Thanks a lot. Best Regards / 商祺 郭伟 Guo Wei 在 2013-4-20,上午12:17,Gary Helmling <ghelml...@gmail.com> 写道: > As others mention HBASE-6870 is about coprocessorExec() always scanning the > full .META. table to determine region locations. Is this what you mean or > are you talking about your coprocessor always scanning your full user table? > > If you want to limit the scan within regions in your user table, you'll > need to pass startRow and endRow as parameters to your instance.GetList() > method. Then when you create the region scanner in your coprocessor code, > you'll need to set the start and end row yourself in order to limit the > rows scanned. > > > On Fri, Apr 19, 2013 at 5:59 AM, Ted Yu <yuzhih...@gmail.com> wrote: > >> Please upgrade to 0.94.6.1 which is more stable. >> >> Cheers >> >> On Apr 19, 2013, at 4:58 AM, GuoWei <wei....@wbkit.com> wrote: >> >>> >>> We use base 0.94.1 in our production environment. >>> >>> >>> Best Regards / 商祺 >>> 郭伟 Guo Wei >>> >>> 在 2013-4-19,下午6:01,Ted Yu <yuzhih...@gmail.com> 写道: >>> >>>> Which hbase version are you using ? >>>> >>>> Thanks >>>> >>>> On Apr 19, 2013, at 2:49 AM, GuoWei <wei....@wbkit.com> wrote: >>>> >>>>> Hello, >>>>> >>>>> We use HBase core processor endpoint to process realtime data. But >> when I use coreprocessorExec method to scan table and pass startRow and >> endRow. It always scan all table instead of the result between the startRow >> and endRow. >>>>> >>>>> my code. >>>>> >>>>> results = table.coprocessorExec(IEndPoint_SA.class, startrow, endrow, >>>>> new Batch.Call<IEndPoint_SA,Hashtable<String,Hashtable>>() { >>>>> public Hashtable<String,Hashtable> call(IEndPoint_SA >> instance)throws IOException{ >>>>> Hashtable<String,Hashtable> s = null; >>>>> try { >>>>> s=instance.GetList(); >>>>> } catch (ParseException e) { >>>>> // TODO Auto-generated catch block >>>>> e.printStackTrace(); >>>>> } >>>>> return s; >>>>> } >>>>> }); >>>>> >>>>> >>>>> >>>>> Best Regards / 商祺 >>>>> 郭伟 Guo Wei >>>>> ----------------------------------------------------- >>>> >>> >>