hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GuoWei <wei....@wbkit.com>
Subject Re: Coreprocessor always scan the whole table.
Date Sat, 20 Apr 2013 05:30:53 GMT
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 <ghelmling@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 <yuzhihong@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.guo@wbkit.com> wrote:
>> 
>>> 
>>> We use base 0.94.1 in our production environment.
>>> 
>>> 
>>> Best Regards / 商祺
>>> 郭伟 Guo Wei
>>> 
>>> 在 2013-4-19,下午6:01,Ted Yu <yuzhihong@gmail.com> 写道:
>>> 
>>>> Which hbase version are you using ?
>>>> 
>>>> Thanks
>>>> 
>>>> On Apr 19, 2013, at 2:49 AM, GuoWei <wei.guo@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
>>>>> -----------------------------------------------------
>>>> 
>>> 
>> 


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