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

xubo245 commented on CARBONDATA-2550:
-------------------------------------

It's work fine in cluster:


{code:java}
0: jdbc:hive2://hadoop1:10000> create datamap map1 using 'mv' as select 
name,sum(salary) from mvtable1 group by name;
+---------+--+
| Result  |
+---------+--+
+---------+--+
No rows selected (0.67 seconds)
0: jdbc:hive2://hadoop1:10000>  rebuild datamap map1;
+---------+--+
| Result  |
+---------+--+
+---------+--+
No rows selected (1.664 seconds)
0: jdbc:hive2://hadoop1:10000> select name,sum(salary) from mvtable1 group by 
name limit 2;
+-------+--------------+--+
| name  | sum(salary)  |
+-------+--------------+--+
| n3    | 12           |
| n1    | 36           |
+-------+--------------+--+
2 rows selected (0.553 seconds)
0: jdbc:hive2://hadoop1:10000>  select name,sum(salary) from mvtable1 group by 
name limit 1;
+-------+--------------+--+
| name  | sum(salary)  |
+-------+--------------+--+
| n3    | 12           |
+-------+--------------+--+
1 row selected (0.37 seconds)
0: jdbc:hive2://hadoop1:10000> explain select name,sum(salary) from mvtable1 
group by name limit 1;
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--+
|                                                                               
                                                                                
                                                                                
                         plan                                                   
                                                                                
                                                                                
                                                      |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--+
| == CarbonData Profiler ==
Table Scan on map1_table
 - total blocklets: 1
 - filter: none
 - pruned by Main DataMap
    - skipped blocklets: 0
                                                                                
                                                                                
                                                                                
                                                                                
                                                                      |
| == Physical Plan ==
CollectLimit 1
+- *HashAggregate(keys=[mvtable1_name#737], functions=[sum(sum_salary#738L)])
   +- Exchange hashpartitioning(mvtable1_name#737, 200)
      +- *HashAggregate(keys=[mvtable1_name#737], 
functions=[partial_sum(sum_salary#738L)])
         +- *BatchedScan CarbonDatasourceHadoopRelation [ Database name 
:default, Table name :map1_table, Schema 
:Some(StructType(StructField(mvtable1_name,StringType,true), 
StructField(sum_salary,LongType,true))) ] 
default.map1_table[mvtable1_name#737,sum_salary#738L]  |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--+
2 rows selected (0.209 seconds)
0: jdbc:hive2://hadoop1:10000>

{code}


> [MV] Limit is ignored when data fetched from MV, Query rewrite is Wrong
> -----------------------------------------------------------------------
>
>                 Key: CARBONDATA-2550
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-2550
>             Project: CarbonData
>          Issue Type: Bug
>            Reporter: Babulal
>            Assignee: xubo245
>            Priority: Major
>
> 0: jdbc:hive2://10.18.222.231:23040> create table mvtable1(name string,age 
> int,salary int) stored by 'carbondata';
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (0.279 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> insert into mvtable1 select 'n1',12,12;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (11.973 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> insert into mvtable1 select 'n1',12,12;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (9.92 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> insert into mvtable1 select 'n3',12,12;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (9.883 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> insert into mvtable1 select 'n4',12,12;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (10.488 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> select name,sum(salary) from mvtable1 
> group by name;
> +-------+--------------+--+
> | name | sum(salary) |
> +-------+--------------+--+
> | n3 | 12 |
> | n1 | 24 |
> | n4 | 12 |
> +-------+--------------+–+
> 0: jdbc:hive2://10.18.222.231:23040> select name,sum(salary) from mvtable1 
> group by name limit 2;
> +-------+--------------+--+
> | name | sum(salary) |
> +-------+--------------+--+
> | n3 | 12 |
> | n1 | 24 |
> +-------+--------------+--+
> 2 rows selected (4.175 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> create datamap map1 using 'mv' as select 
> name,sum(salary) from mvtable1 group by name;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (0.396 seconds)
> 0: jdbc:hive2://10.18.222.231:23040> rebuild datamap map1;
> +---------+--+
> | Result |
> +---------+--+
> +---------+--+
> No rows selected (13.246 seconds)
>  
> *0: jdbc:hive2://10.18.222.231:23040> select name,sum(salary) from mvtable1 
> group by name limit 2;*
> +----------------+-------------+--+
> | mvtable1_name | sum_salary |
> +----------------+-------------+--+
> | n3 | 12 |
> | n1 | 24 |
> | n4 | 12 |
> +----------------+-------------+--+
> 3 rows selected (2.453 seconds)
> *0: jdbc:hive2://10.18.222.231:23040> select name,sum(salary) from mvtable1 
> group by name limit 1;*
> +----------------+-------------+--+
> | mvtable1_name | sum_salary |
> +----------------+-------------+--+
> | n3 | 12 |
> | n1 | 24 |
> | n4 | 12 |
> +----------------+-------------+--+
> 3 rows selected (0.347 seconds)
> 0: jdbc:hive2://10.18.222.231:23040>
>  
>  
> Even limit is given MV returns all the records from MV table.
> Cause:- 
> When Rewriting MV query ,limit is ignored,
> 0: jdbc:hive2://10.18.222.231:23040> explain select name,sum(salary) from 
> mvtable1 *group by name limit 2;*
> | plan |
> | == CarbonData Profiler ==
> Table Scan on map1_table
>  - total blocklets: 2
>  - filter: none
>  - pruned by Main DataMap
>  - skipped blocklets: 0
>  |
> | == Physical Plan ==
> *BatchedScan CarbonDatasourceHadoopRelation [ Database name :default, Table 
> name :map1_table, Schema 
> :Some(StructType(StructField(mvtable1_name,StringType,true), 
> StructField(sum_salary,LongType,true))) ] 
> default.map1_table[mvtable1_name#4438,sum_salary#4614L] |
> +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--+
> 2 rows selected (0.36
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to