[ 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) |
Free forum by Nabble | Edit this page |