[jira] [Created] (CARBONDATA-3752) Query on carbon table should support reusing Exchange

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (CARBONDATA-3752) Query on carbon table should support reusing Exchange

Akash R Nilugal (Jira)
David Cai created CARBONDATA-3752:
-------------------------------------

             Summary: Query on carbon table should support reusing Exchange
                 Key: CARBONDATA-3752
                 URL: https://issues.apache.org/jira/browse/CARBONDATA-3752
             Project: CarbonData
          Issue Type: Improvement
            Reporter: David Cai


Query on carbon table should support reusing Exchange

[Reproduce]

create table t1(c1 int, c2 string) using carbondata

insert into t1 values(1, 'abc')

explain
 select c2, sum(c1) from t1 group by c2
 union all
 select c2, sum(c1) from t1 group by c2

[Physical Plan]
{noformat}
Union
:- *(2) HashAggregate(keys=[c2#37], functions=[sum(cast(c1#36 as bigint))])
: +- Exchange hashpartitioning(c2#37, 200)
: +- *(1) HashAggregate(keys=[c2#37], functions=[partial_sum(cast(c1#36 as bigint))])
: +- *(1) FileScan carbondata default.t1[c1#36,c2#37] ReadSchema: struct<c1:int,c2:string>
+- *(4) HashAggregate(keys=[c2#37], functions=[sum(cast(c1#36 as bigint))])
 +- Exchange hashpartitioning(c2#37, 200)
 +- *(3) HashAggregate(keys=[c2#37], functions=[partial_sum(cast(c1#36 as bigint))])
 +- *(3) FileScan carbondata default.t1[c1#36,c2#37] ReadSchema: struct<c1:int,c2:string>{noformat}
It should reuse Exchange like Following:
{noformat}
Union
:- *(2) HashAggregate(keys=[c2#37], functions=[sum(cast(c1#36 as bigint))])
:  +- Exchange hashpartitioning(c2#37, 200)
:     +- *(1) HashAggregate(keys=[c2#37], functions=[partial_sum(cast(c1#36 as bigint))])
:        +- *(1) FileScan carbondata default.t1[c1#36,c2#37] ReadSchema: struct<c1:int,c2:string>
+- *(4) HashAggregate(keys=[c2#37], functions=[sum(cast(c1#36 as bigint))])
   +- ReusedExchange [c2#37, sum#54L], Exchange hashpartitioning(c2#37, 200){noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)