| write [%0->$$1] |
| -- SINK_WRITE |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| distinct ([%0->$$1]) |
| -- PRE_SORTED_DISTINCT_BY |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |LOCAL| |
| order (ASC, %0->$$1) |
| -- STABLE_SORT [$$1(ASC)] |LOCAL| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$1] |PARTITIONED| |
| project ([$$1]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:lt, Args:[%0->$$12, %0->$$13]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$1, $$12, $$13]<-[$$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->$$11, %0->$$13] |
| -- SINK_WRITE |PARTITIONED| |
| project ([$$11, $$13]) |
| -- STREAM_PROJECT |PARTITIONED| |
| assign [$$13] <- [function-call: hive:org.apache.hadoop.hive.ql.udf.UDFToInteger, Args:[%0->$$12]] |
| -- ASSIGN |PARTITIONED| |
| exchange |
| -- SORT_MERGE_EXCHANGE [$$11(ASC) ] |PARTITIONED| |
| order (ASC, %0->$$11) |
| -- STABLE_SORT [$$11(ASC)] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| group by ([$$11 := %0->$$16]) decor ([]) { |
| aggregate [$$12] <- [function-call: hive:count(FINAL), Args:[%0->$$15]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$16] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$16] |PARTITIONED| |
| group by ([$$16 := %0->$$7]) decor ([]) { |
| aggregate [$$15] <- [function-call: hive:count(PARTIAL1), Args:[1]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$7] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$7]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$1, %0->$$2]) |
| -- HYBRID_HASH_JOIN [$$1][$$2] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$1] |PARTITIONED| |
| data-scan []<-[$$1] <- default.q4_order_priority_tmp |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$2] |PARTITIONED| |
| project ([$$2, $$7]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:and, Args:[function-call: algebricks:lt, Args:[%0->$$6, 1993-10-01], function-call: algebricks:ge, Args:[%0->$$6, 1993-07-01], function-call: algebricks:lt, Args:[%0->$$6, 1993-10-01]]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$2, $$6, $$7]<-[$$2, $$3, $$4, $$5, $$6, $$7, $$8, $$9, $$10] <- default.orders |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |