| write [%0->$$63, %0->$$66] |
| -- SINK_WRITE |PARTITIONED| |
| exchange |
| -- SORT_MERGE_EXCHANGE [$$63(ASC) ] |PARTITIONED| |
| order (ASC, %0->$$63) |
| -- STABLE_SORT [$$63(ASC)] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$63, $$66]) |
| -- STREAM_PROJECT |PARTITIONED| |
| assign [$$66] <- [function-call: hive:org.apache.hadoop.hive.ql.udf.UDFOPDivide, Args:[%0->$$64, %0->$$65]] |
| -- ASSIGN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| group by ([$$63 := %0->$$70]) decor ([]) { |
| aggregate [$$64, $$65] <- [function-call: hive:sum(FINAL), Args:[%0->$$68], function-call: hive:sum(FINAL), Args:[%0->$$69]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$70] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$70] |PARTITIONED| |
| group by ([$$70 := %0->$$61]) decor ([]) { |
| aggregate [$$68, $$69] <- [function-call: hive:sum(PARTIAL1), Args:[function-call: hive:org.apache.hadoop.hive.ql.udf.generic.GenericUDFWhen, Args:[function-call: algebricks:eq, Args:[%0->$$2, BRAZIL], %0->$$62, 0.0]], function-call: hive:sum(PARTIAL1), Args:[%0->$$62]] |
| -- AGGREGATE |LOCAL| |
| nested tuple source |
| -- NESTED_TUPLE_SOURCE |LOCAL| |
| } |
| -- EXTERNAL_GROUP_BY[$$61] |LOCAL| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| project ([$$61, $$62, $$2]) |
| -- STREAM_PROJECT |PARTITIONED| |
| assign [$$61, $$62] <- [function-call: hive:org.apache.hadoop.hive.ql.udf.UDFYear, Args:[%0->$$41], function-call: hive:org.apache.hadoop.hive.ql.udf.UDFOPMultiply, Args:[%0->$$26, function-call: hive:org.apache.hadoop.hive.ql.udf.UDFOPMinus, Args:[1, %0->$$27]]] |
| -- ASSIGN |PARTITIONED| |
| project ([$$2, $$41, $$27, $$26]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$8, %0->$$1]) |
| -- HYBRID_HASH_JOIN [$$8][$$1] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$8] |PARTITIONED| |
| project ([$$8, $$41, $$27, $$26]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$23, %0->$$5]) |
| -- HYBRID_HASH_JOIN [$$23][$$5] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$23] |PARTITIONED| |
| project ([$$41, $$27, $$26, $$23]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$22, %0->$$12]) |
| -- HYBRID_HASH_JOIN [$$22][$$12] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$22] |PARTITIONED| |
| project ([$$41, $$22, $$23, $$26, $$27]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$21, %0->$$37]) |
| -- HYBRID_HASH_JOIN [$$21][$$37] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$21] |PARTITIONED| |
| data-scan [$$21, $$22, $$23, $$26, $$27]<-[$$21, $$22, $$23, $$24, $$25, $$26, $$27, $$28, $$29, $$30, $$31, $$32, $$33, $$34, $$35, $$36] <- default.lineitem |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$37] |PARTITIONED| |
| project ([$$37, $$41]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$46, %0->$$38]) |
| -- HYBRID_HASH_JOIN [$$46][$$38] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$46] |PARTITIONED| |
| project ([$$46]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$54, %0->$$49]) |
| -- HYBRID_HASH_JOIN [$$54][$$49] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$54] |PARTITIONED| |
| project ([$$54]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| join (function-call: algebricks:eq, Args:[%0->$$58, %0->$$56]) |
| -- HYBRID_HASH_JOIN [$$58][$$56] |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$58] |PARTITIONED| |
| project ([$$58]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$59, AMERICA]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$59, $$58]<-[$$58, $$59, $$60] <- default.region |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$56] |PARTITIONED| |
| project ([$$56, $$54]) |
| -- STREAM_PROJECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| replicate |
| -- SPLIT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan []<-[$$54, $$55, $$56, $$57] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$49] |PARTITIONED| |
| data-scan [$$49, $$46]<-[$$46, $$47, $$48, $$49, $$50, $$51, $$52, $$53] <- default.customer |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$38] |PARTITIONED| |
| project ([$$38, $$37, $$41]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:and, Args:[function-call: algebricks:lt, Args:[%0->$$41, 1996-12-31], function-call: algebricks:ge, Args:[%0->$$41, 1995-01-01]]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$38, $$37, $$41]<-[$$37, $$38, $$39, $$40, $$41, $$42, $$43, $$44, $$45] <- default.orders |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |
| exchange |
| -- HASH_PARTITION_EXCHANGE [$$12] |PARTITIONED| |
| project ([$$12]) |
| -- STREAM_PROJECT |PARTITIONED| |
| select (function-call: algebricks:eq, Args:[%0->$$16, ECONOMY ANODIZED STEEL]) |
| -- STREAM_SELECT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan [$$16, $$12]<-[$$12, $$13, $$14, $$15, $$16, $$17, $$18, $$19, $$20] <- default.part |
| -- 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 [$$1] |PARTITIONED| |
| project ([$$1, $$2]) |
| -- STREAM_PROJECT |PARTITIONED| |
| assign [$$1, $$2, $$3, $$4] <- [%0->$$54, %0->$$55, %0->$$56, %0->$$57] |
| -- ASSIGN |UNPARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| replicate |
| -- SPLIT |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| data-scan []<-[$$54, $$55, $$56, $$57] <- default.nation |
| -- DATASOURCE_SCAN |PARTITIONED| |
| exchange |
| -- ONE_TO_ONE_EXCHANGE |PARTITIONED| |
| empty-tuple-source |
| -- EMPTY_TUPLE_SOURCE |PARTITIONED| |