| write [%0->$$17, %0->$$18, %0->$$19, %0->$$20] |
| -- SINK_WRITE |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| union ($$6, $$10, $$17) ($$2, $$14, $$18) ($$5, $$9, $$19) ($$1, $$13, $$20) |
| -- UNION_ALL |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| |
| project ([$$6, $$2, $$5, $$1]) |
| -- STREAM_PROJECT |UNPARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (true) |
| -- NESTED_LOOP |PARTITIONED| |
| exchange |
| -- BROADCAST_EXCHANGE |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$2, GERMANY]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$1, $$2]<-[$$1, $$2, $$3, $$4] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$5, $$6]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$6, FRANCE]) |
| -- STREAM_SELECT |PARTITIONED| |
| project ([$$5, $$6]) |
| -- STREAM_PROJECT |UNPARTITIONED| |
| assign [$$5, $$6] <- [%0->$$9, %0->$$10] |
| -- ASSIGN |UNPARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| replicate |
| -- SPLIT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$9, $$10]<-[$$9, $$10, $$11, $$12] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |UNPARTITIONED| |
| project ([$$10, $$14, $$9, $$13]) |
| -- STREAM_PROJECT |UNPARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (true) |
| -- NESTED_LOOP |PARTITIONED| |
| exchange |
| -- BROADCAST_EXCHANGE |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$14, FRANCE]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$13, $$14]<-[$$13, $$14, $$15, $$16] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$9, $$10]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$10, GERMANY]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| replicate |
| -- SPLIT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$9, $$10]<-[$$9, $$10, $$11, $$12] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| write [%0->$$47, %0->$$48, %0->$$49, %0->$$50] |
| -- SINK_WRITE |PARTITIONED| |
| project ([$$47, $$48, $$49, $$50]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- SORT_MERGE_EXCHANGE [$$47(ASC), $$48(ASC), $$49(ASC) ] |PARTITIONED| |
| order (ASC, %0->$$47) (ASC, %0->$$48) (ASC, %0->$$49) |
| -- STABLE_SORT [$$47(ASC), $$48(ASC), $$49(ASC)] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| group by ([$$47 := %0->$$53; $$48 := %0->$$54; $$49 := %0->$$55]) decor ([]) { |
| aggregate [$$50] <- [function-call: hive:sum(FINAL), Args:[%0->$$52]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$53, $$54, $$55] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$53, $$54, $$55] |PARTITIONED| |
| group by ([$$53 := %0->$$1; $$54 := %0->$$2; $$55 := %0->$$45]) decor ([]) { |
| aggregate [$$52] <- [function-call: hive:sum(PARTIAL1), Args:[%0->$$46]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$1, $$2, $$45] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$1, $$2, $$45, $$46]) |
| -- STREAM_PROJECT |PARTITIONED| |
| assign [$$45, $$46] <- [function-call: hive:org.apache.hadoop.hive.ql.udf.UDFYear, Args:[%0->$$30], function-call: hive:org.apache.hadoop.hive.ql.udf.UDFOPMultiply, Args:[%0->$$25, function-call: hive:org.apache.hadoop.hive.ql.udf.UDFOPMinus, Args:[1, %0->$$26]]] |
| -- ASSIGN |PARTITIONED| |
| project ([$$1, $$2, $$30, $$25, $$26]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:and, Args:[function-call: algebricks:eq, Args:[%0->$$15, %0->$$4], function-call: algebricks:eq, Args:[%0->$$8, %0->$$3]]) |
| -- HYBRID_HASH_JOIN [$$15, $$8][$$4, $$3] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$15, $$8] |PARTITIONED| |
| project ([$$8, $$30, $$25, $$26, $$15]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$22, %0->$$5]) |
| -- HYBRID_HASH_JOIN [$$22][$$5] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$22] |PARTITIONED| |
| project ([$$15, $$30, $$25, $$26, $$22]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$37, %0->$$12]) |
| -- HYBRID_HASH_JOIN [$$37][$$12] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$37] |PARTITIONED| |
| project ([$$37, $$22, $$25, $$26, $$30]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$20, %0->$$36]) |
| -- HYBRID_HASH_JOIN [$$20][$$36] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$20] |PARTITIONED| |
| select (function-call: algebricks:and, Args:[function-call: algebricks:le, Args:[%0->$$30, 1996-12-31], function-call: algebricks:ge, Args:[%0->$$30, 1995-01-01], function-call: algebricks:le, Args:[%0->$$30, 1996-12-31]]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$20, $$22, $$25, $$26, $$30]<-[$$20, $$21, $$22, $$23, $$24, $$25, $$26, $$27, $$28, $$29, $$30, $$31, $$32, $$33, $$34, $$35] <- default.lineitem |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$36] |PARTITIONED| |
| data-scan [$$36, $$37]<-[$$36, $$37, $$38, $$39, $$40, $$41, $$42, $$43, $$44] <- default.orders |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$12] |PARTITIONED| |
| data-scan [$$12, $$15]<-[$$12, $$13, $$14, $$15, $$16, $$17, $$18, $$19] <- default.customer |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$5] |PARTITIONED| |
| data-scan [$$5, $$8]<-[$$5, $$6, $$7, $$8, $$9, $$10, $$11] <- default.supplier |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$4, $$3] |PARTITIONED| |
| data-scan [$$4, $$3, $$1, $$2]<-[$$1, $$2, $$3, $$4] <- default.q7_volume_shipping_tmp |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |