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

Zhihong Yu commented on HBASE-5982:
-----------------------------------

{code}
+ public <R, S> List<R> top(final byte[] tableName,
{code}
Please leave two leading spaces for method. See HBASE-5961 for an Eclipse 
formatter.
{code}
+     List<R> getMax() {
+       return top;
+     }
{code}
MaxCallBack originally returned one scalar. Please create a new CallBack, 
TopCallBack, for the 'top' operation.
{code}
+       //log.info("****the top"+topNum+ " value come from RegionServer="
{code}
Please remove all commented out log statements.
{code}
+ public <R, S> R max1(final byte[] tableName,
{code}
Please don't rename existing public method - this would cause regression.
                
> HBase Coprocessor Locate
> ------------------------
>
>                 Key: HBASE-5982
>                 URL: https://issues.apache.org/jira/browse/HBASE-5982
>             Project: HBase
>          Issue Type: Improvement
>          Components: coprocessors
>    Affects Versions: 0.92.1
>         Environment: cloudera-cdh3u3,hbase-0.92.1
>            Reporter: dengpeng
>              Labels: Coprocessor
>             Fix For: 0.92.1
>
>         Attachments: HBASE-5982.patch
>
>   Original Estimate: 0.05h
>  Remaining Estimate: 0.05h
>
> In our application, we need to handle the following SQL-like process on 
> hbase. There are very complex processes on each region, and the result of 
> 'top #' from each region will be sent back to the coprocessor client in the 
> current region-based endpoint framework. 
> Let's take the following SQL as an example. Suppose there are 100 regions in 
> each RS and there are 100 RSs in the cluster, the client will receive 
> 100*100*1M = 10G records from all the region, and then select top 1M records 
> from 10G records. The client need much RAM to handle these data and the 
> network of the cluster maybe the bottleneck.
> If we have the RS-based endpoint, each RS will handle parts of result from 
> its regions, the client will receive 100*1M = 0.1G records. The burden of the 
> client and the network will dramatically reduced. 
> example: 
> select top 1000000 count(1) as A , sum(intRxlevDL)/count(intRxlevDL) as B , 
> intBscPc as bscPc , intLac as LAC , intCI as CI from ftbMrMsg t1 where ( 
> t1.dtTime >= '2012-03-02 04:00:00.000' and t1.dtTime < '2012-03-02 
> 05:00:00.000' )group by bscPc , LAC , CI having B >= 0.2order by bscPc ASC , 
> LAC ASC , CI ASC
> So far, the network is a bottleneck in our application when using coprocess 
> to handle the above SQL. I think the RS-based Endpoint is worth doing, 
> especially for the 'top #' process. What's your opinion about this? I think 
> we can open a jira. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to