| write [%0->$$17, %0->$$18] |
| -- SINK_WRITE |PARTITIONED| |
| project ([$$17, $$18]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| group by ([$$17 := %0->$$21]) decor ([]) { |
| aggregate [$$18] <- [function-call: hive:sum(FINAL), Args:[%0->$$20]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$21] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$21] |PARTITIONED| |
| group by ([$$21 := %0->$$1]) decor ([]) { |
| aggregate [$$20] <- [function-call: hive:sum(PARTIAL1), Args:[%0->$$5]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$1] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$1, $$5]<-[$$1, $$2, $$3, $$4, $$5, $$6, $$7, $$8, $$9, $$10, $$11, $$12, $$13, $$14, $$15, $$16] <- default.lineitem |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| write [%0->$$36, %0->$$37, %0->$$38, %0->$$39, %0->$$40, %0->$$41] |
| -- SINK_WRITE |UNPARTITIONED| |
| project ([$$36, $$37, $$38, $$39, $$40, $$41]) |
| -- STREAM_PROJECT |PARTITIONED| |
| limit 100 |
| -- STREAM_LIMIT |UNPARTITIONED| |
| limit 100 |
| -- STREAM_LIMIT |UNPARTITIONED| |
| exchange |
| -- SORT_MERGE_EXCHANGE [$$40(DESC), $$39(ASC) ] |PARTITIONED| |
| limit 100 |
| -- STREAM_LIMIT |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |LOCAL| |
| order (DESC, %0->$$40) (ASC, %0->$$39) |
| -- STABLE_SORT [$$40(DESC), $$39(ASC)] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| group by ([$$36 := %0->$$44; $$37 := %0->$$45; $$38 := %0->$$46; $$39 := %0->$$47; $$40 := %0->$$48]) decor ([]) { |
| aggregate [$$41] <- [function-call: hive:sum(FINAL), Args:[%0->$$43]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$44, $$45, $$46, $$47, $$48] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$44, $$45, $$46, $$47, $$48] |PARTITIONED| |
| group by ([$$44 := %0->$$20; $$45 := %0->$$19; $$46 := %0->$$27; $$47 := %0->$$31; $$48 := %0->$$30]) decor ([]) { |
| aggregate [$$43] <- [function-call: hive:sum(PARTIAL1), Args:[%0->$$7]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$20, $$19, $$27, $$31, $$30] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$19, $$20, $$27, $$30, $$31, $$7]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$27, %0->$$1]) |
| -- HYBRID_HASH_JOIN [$$1][$$27] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$1] |PARTITIONED| |
| project ([$$1, $$7]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$3, %0->$$1]) |
| -- HYBRID_HASH_JOIN [$$3][$$1] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$3] |PARTITIONED| |
| data-scan [$$3, $$7]<-[$$3, $$4, $$5, $$6, $$7, $$8, $$9, $$10, $$11, $$12, $$13, $$14, $$15, $$16, $$17, $$18] <- default.lineitem |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$1] |PARTITIONED| |
| project ([$$1]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:gt, Args:[%0->$$2, 300]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan []<-[$$1, $$2] <- default.q18_tmp |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$27] |PARTITIONED| |
| project ([$$27, $$19, $$20, $$30, $$31]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$28, %0->$$19]) |
| -- HYBRID_HASH_JOIN [$$28][$$19] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$28] |PARTITIONED| |
| data-scan [$$28, $$27, $$30, $$31]<-[$$27, $$28, $$29, $$30, $$31, $$32, $$33, $$34, $$35] <- default.orders |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$19] |PARTITIONED| |
| data-scan [$$19, $$20]<-[$$19, $$20, $$21, $$22, $$23, $$24, $$25, $$26] <- default.customer |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |