I am doing a mult-thread(100) scan test over hbase.
If one request with given key-range matches a large number of
correspoding rows in hbase, my request is waiting for this scan to complete.
The throughput is really slow.
For test purpose, I'd like to use LIMIT to reduce the time on scanning
and transferring results back from hbase to increase the throughput.
Do you think the "hbase.client.scan.max.result.size" or
setMaxResultSize(in bytes) could help HBase to stop scan at the LIMIT
before scanning complete corresponding rows?

As you mentioned that there is no query optimizer in HBase, I assume
that region servers will not stop scanning the rows in this key-range in
this case until it gets all the results and limit the results to max
size which is sent to the client.
If so, there is not much I can do to compare the throughput with that in
relational databases like MySQL.

Thanks,
Cheers.
> Limit clause in SQL Select statement makes sense because it allows query 
> optimizer to plan accordingly.
> It does not make sense in HBase as since there is no query planner and or 
> optimization involved during
> scanning HBase table. You can easily mimic this functionality on a client 
> side (I mean - limit).
>
> Best regards,
> Vladimir Rodionov
> Principal Platform Engineer
> Carrier IQ, www.carrieriq.com
> e-mail: vrodio...@carrieriq.com
>
> ________________________________________
> From: Weiping Qu [q...@informatik.uni-kl.de]
> Sent: Monday, March 17, 2014 4:48 AM
> To: dev@hbase.apache.org
> Subject: Re: 答复: setMaxResultSize method in Scan
>
> Thanks.
>
> I'd like to assume that setMaxResultSize is equivalent to the SQL Limit
> clause as expected which is specified each time a SQL statement is
> executed .
> Now through "hbase.client.scanner.max.result.size" can the limitation of
> number of row returned only apply to all the scanner instances.
> I am wondering why the setMaxResultSize is removed now.
>
>> No such method for Scan in 0.94.x.
>>
>> If you want to set the max result size for a scan, you can achieve this by 
>> setting the "hbase.client.scanner.max.result.size" configuration, the 
>> default for which is Long.MAX_VALUE (no limited)
>> ________________________________________
>> 发件人: Weiping Qu [q...@informatik.uni-kl.de]
>> 发送时间: 2014年3月17日 18:50
>> 收件人: dev@hbase.apache.org
>> 主题: setMaxResultSize method in Scan
>>
>> Hello,
>>
>> I could not find the method setMaxResultSize(long m)
>> (http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html)
>> in my Scanclass (0.94.13 version).
>> Can anyone help me? Thanks
>>
>> Weiping
>
> --
> Mit freundlichen Grü?en / Kind Regards
>
> *Weiping Qu*
>
> University of Kaiserslautern
> Department of Computer Science
> Heterogeneous Information Systems Group
> P.O. Box 3049
> 67653 Kaiserslautern, Germany
>
> Email: qu (at) informatik.uni-kl.de
> Phone: +49 631 205 3264
> Fax: +49 631 205 3299
> Room: 36/331
>
> Confidentiality Notice:  The information contained in this message, including 
> any attachments hereto, may be confidential and is intended to be read only 
> by the individual or entity to whom this message is addressed. If the reader 
> of this message is not the intended recipient or an agent or designee of the 
> intended recipient, please note that any review, use, disclosure or 
> distribution of this message or its attachments, in any form, is strictly 
> prohibited.  If you have received this message in error, please immediately 
> notify the sender and/or notificati...@carrieriq.com and delete or destroy 
> any copy of this message and its attachments.


-- 
Mit freundlichen Grü?en / Kind Regards

*Weiping Qu*

University of Kaiserslautern
Department of Computer Science
Heterogeneous Information Systems Group
P.O. Box 3049
67653 Kaiserslautern, Germany

Email: qu (at) informatik.uni-kl.de
Phone: +49 631 205 3264
Fax: +49 631 205 3299
Room: 36/331

Reply via email to