== Physical Plan ==
VeloxColumnarToRow (63)
+- ^ SortExecTransformer (61)
   +- ^ InputIteratorTransformer (60)
      +- ColumnarExchange (58)
         +- VeloxResizeBatches (57)
            +- ^ ProjectExecTransformer (55)
               +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (54)
                  :- ^ ProjectExecTransformer (35)
                  :  +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (34)
                  :     :- ^ ProjectExecTransformer (26)
                  :     :  +- ^ RegularHashAggregateExecTransformer (25)
                  :     :     +- ^ InputIteratorTransformer (24)
                  :     :        +- ColumnarExchange (22)
                  :     :           +- VeloxResizeBatches (21)
                  :     :              +- ^ ProjectExecTransformer (19)
                  :     :                 +- ^ FlushableHashAggregateExecTransformer (18)
                  :     :                    +- ^ ProjectExecTransformer (17)
                  :     :                       +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (16)
                  :     :                          :- ^ InputIteratorTransformer (9)
                  :     :                          :  +- ColumnarUnion (7)
                  :     :                          :     :- ^ ProjectExecTransformer (2)
                  :     :                          :     :  +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.web_sales (1)
                  :     :                          :     +- ^ ProjectExecTransformer (5)
                  :     :                          :        +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales (4)
                  :     :                          +- ^ InputIteratorTransformer (15)
                  :     :                             +- ColumnarBroadcastExchange (13)
                  :     :                                +- ^ FilterExecTransformer (11)
                  :     :                                   +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.date_dim (10)
                  :     +- ^ InputIteratorTransformer (33)
                  :        +- ColumnarBroadcastExchange (31)
                  :           +- ^ ProjectExecTransformer (29)
                  :              +- ^ FilterExecTransformer (28)
                  :                 +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.date_dim (27)
                  +- ^ InputIteratorTransformer (53)
                     +- ColumnarBroadcastExchange (51)
                        +- ^ ProjectExecTransformer (49)
                           +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (48)
                              :- ^ ProjectExecTransformer (40)
                              :  +- ^ RegularHashAggregateExecTransformer (39)
                              :     +- ^ InputIteratorTransformer (38)
                              :        +- ReusedExchange (36)
                              +- ^ InputIteratorTransformer (47)
                                 +- ColumnarBroadcastExchange (45)
                                    +- ^ ProjectExecTransformer (43)
                                       +- ^ FilterExecTransformer (42)
                                          +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.date_dim (41)


(1) FileSourceScanExecTransformer parquet spark_catalog.default.web_sales
Output [2]: [ws_ext_sales_price#1, ws_sold_date_sk#2]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(ws_sold_date_sk#2)]
ReadSchema: struct<ws_ext_sales_price:decimal(7,2)>

(2) ProjectExecTransformer
Output [2]: [ws_sold_date_sk#2 AS sold_date_sk#3, ws_ext_sales_price#1 AS sales_price#4]
Input [2]: [ws_ext_sales_price#1, ws_sold_date_sk#2]

(3) WholeStageCodegenTransformer (1)
Input [2]: [sold_date_sk#3, sales_price#4]
Arguments: false

(4) FileSourceScanExecTransformer parquet spark_catalog.default.catalog_sales
Output [2]: [cs_ext_sales_price#5, cs_sold_date_sk#6]
Batched: true
Location: InMemoryFileIndex []
PartitionFilters: [isnotnull(cs_sold_date_sk#6)]
ReadSchema: struct<cs_ext_sales_price:decimal(7,2)>

(5) ProjectExecTransformer
Output [2]: [cs_sold_date_sk#6 AS sold_date_sk#7, cs_ext_sales_price#5 AS sales_price#8]
Input [2]: [cs_ext_sales_price#5, cs_sold_date_sk#6]

(6) WholeStageCodegenTransformer (2)
Input [2]: [sold_date_sk#7, sales_price#8]
Arguments: false

(7) ColumnarUnion
Arguments: UnknownPartitioning(0)

(8) InputAdapter
Input [2]: [sold_date_sk#3, sales_price#4]

(9) InputIteratorTransformer
Input [2]: [sold_date_sk#3, sales_price#4]

(10) FileSourceScanExecTransformer parquet spark_catalog.default.date_dim
Output [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_date_sk), IsNotNull(d_week_seq)]
ReadSchema: struct<d_date_sk:int,d_week_seq:int,d_day_name:string>

(11) FilterExecTransformer
Input [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]
Arguments: (isnotnull(d_date_sk#9) AND isnotnull(d_week_seq#10))

(12) WholeStageCodegenTransformer (3)
Input [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]
Arguments: false

(13) ColumnarBroadcastExchange
Input [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)),false), [plan_id=1]

(14) InputAdapter
Input [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]

(15) InputIteratorTransformer
Input [3]: [d_date_sk#9, d_week_seq#10, d_day_name#11]

(16) BroadcastHashJoinExecTransformer
Left keys [1]: [sold_date_sk#3]
Right keys [1]: [d_date_sk#9]
Join type: Inner
Join condition: None

(17) ProjectExecTransformer
Output [8]: [d_week_seq#10, UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END) AS _pre_1#12, UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END) AS _pre_2#13, UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END) AS _pre_3#14, UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END) AS _pre_4#15, UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END) AS _pre_5#16, UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END) AS _pre_6#17, UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END) AS _pre_7#18]
Input [5]: [sold_date_sk#3, sales_price#4, d_date_sk#9, d_week_seq#10, d_day_name#11]

(18) FlushableHashAggregateExecTransformer
Input [8]: [d_week_seq#10, _pre_1#12, _pre_2#13, _pre_3#14, _pre_4#15, _pre_5#16, _pre_6#17, _pre_7#18]
Keys [1]: [d_week_seq#10]
Functions [7]: [partial_sum(_pre_1#12), partial_sum(_pre_2#13), partial_sum(_pre_3#14), partial_sum(_pre_4#15), partial_sum(_pre_5#16), partial_sum(_pre_6#17), partial_sum(_pre_7#18)]
Aggregate Attributes [7]: [sum#19, sum#20, sum#21, sum#22, sum#23, sum#24, sum#25]
Results [8]: [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]

(19) ProjectExecTransformer
Output [9]: [hash(d_week_seq#10, 42) AS hash_partition_key#33, d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]
Input [8]: [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]

(20) WholeStageCodegenTransformer (4)
Input [9]: [hash_partition_key#33, d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]
Arguments: false

(21) VeloxResizeBatches
Input [9]: [hash_partition_key#33, d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]
Arguments: 1024, 2147483647, 10485760

(22) ColumnarExchange
Input [9]: [hash_partition_key#33, d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]
Arguments: hashpartitioning(d_week_seq#10, 1), ENSURE_REQUIREMENTS, [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32], [plan_id=2], [shuffle_writer_type=hash]

(23) InputAdapter
Input [8]: [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]

(24) InputIteratorTransformer
Input [8]: [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]

(25) RegularHashAggregateExecTransformer
Input [8]: [d_week_seq#10, sum#26, sum#27, sum#28, sum#29, sum#30, sum#31, sum#32]
Keys [1]: [d_week_seq#10]
Functions [7]: [sum(UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END)), sum(UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END))]
Aggregate Attributes [7]: [sum(UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END))#40]
Results [8]: [d_week_seq#10, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END))#40]

(26) ProjectExecTransformer
Output [8]: [d_week_seq#10, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END))#34,17,2) AS sun_sales#41, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END))#35,17,2) AS mon_sales#42, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END))#36,17,2) AS tue_sales#43, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END))#37,17,2) AS wed_sales#44, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END))#38,17,2) AS thu_sales#45, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END))#39,17,2) AS fri_sales#46, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END))#40,17,2) AS sat_sales#47]
Input [8]: [d_week_seq#10, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Sunday   ) THEN sales_price#4 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Monday   ) THEN sales_price#4 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Tuesday  ) THEN sales_price#4 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Wednesday) THEN sales_price#4 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Thursday ) THEN sales_price#4 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Friday   ) THEN sales_price#4 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#11 = Saturday ) THEN sales_price#4 END))#40]

(27) FileSourceScanExecTransformer parquet spark_catalog.default.date_dim
Output [2]: [d_week_seq#48, d_year#49]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,2001), IsNotNull(d_week_seq)]
ReadSchema: struct<d_week_seq:int,d_year:int>

(28) FilterExecTransformer
Input [2]: [d_week_seq#48, d_year#49]
Arguments: ((isnotnull(d_year#49) AND (d_year#49 = 2001)) AND isnotnull(d_week_seq#48))

(29) ProjectExecTransformer
Output [1]: [d_week_seq#48]
Input [2]: [d_week_seq#48, d_year#49]

(30) WholeStageCodegenTransformer (5)
Input [1]: [d_week_seq#48]
Arguments: false

(31) ColumnarBroadcastExchange
Input [1]: [d_week_seq#48]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [plan_id=3]

(32) InputAdapter
Input [1]: [d_week_seq#48]

(33) InputIteratorTransformer
Input [1]: [d_week_seq#48]

(34) BroadcastHashJoinExecTransformer
Left keys [1]: [d_week_seq#10]
Right keys [1]: [d_week_seq#48]
Join type: Inner
Join condition: None

(35) ProjectExecTransformer
Output [8]: [d_week_seq#10 AS d_week_seq1#50, sun_sales#41 AS sun_sales1#51, mon_sales#42 AS mon_sales1#52, tue_sales#43 AS tue_sales1#53, wed_sales#44 AS wed_sales1#54, thu_sales#45 AS thu_sales1#55, fri_sales#46 AS fri_sales1#56, sat_sales#47 AS sat_sales1#57]
Input [9]: [d_week_seq#10, sun_sales#41, mon_sales#42, tue_sales#43, wed_sales#44, thu_sales#45, fri_sales#46, sat_sales#47, d_week_seq#48]

(36) ReusedExchange [Reuses operator id: 22]
Output [8]: [d_week_seq#58, sum#59, sum#60, sum#61, sum#62, sum#63, sum#64, sum#65]

(37) InputAdapter
Input [8]: [d_week_seq#58, sum#59, sum#60, sum#61, sum#62, sum#63, sum#64, sum#65]

(38) InputIteratorTransformer
Input [8]: [d_week_seq#58, sum#59, sum#60, sum#61, sum#62, sum#63, sum#64, sum#65]

(39) RegularHashAggregateExecTransformer
Input [8]: [d_week_seq#58, sum#59, sum#60, sum#61, sum#62, sum#63, sum#64, sum#65]
Keys [1]: [d_week_seq#58]
Functions [7]: [sum(UnscaledValue(CASE WHEN (d_day_name#66 = Sunday   ) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Monday   ) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Tuesday  ) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Wednesday) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Thursday ) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Friday   ) THEN sales_price#67 END)), sum(UnscaledValue(CASE WHEN (d_day_name#66 = Saturday ) THEN sales_price#67 END))]
Aggregate Attributes [7]: [sum(UnscaledValue(CASE WHEN (d_day_name#66 = Sunday   ) THEN sales_price#67 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Monday   ) THEN sales_price#67 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Tuesday  ) THEN sales_price#67 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Wednesday) THEN sales_price#67 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Thursday ) THEN sales_price#67 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Friday   ) THEN sales_price#67 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Saturday ) THEN sales_price#67 END))#40]
Results [8]: [d_week_seq#58, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Sunday   ) THEN sales_price#67 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Monday   ) THEN sales_price#67 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Tuesday  ) THEN sales_price#67 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Wednesday) THEN sales_price#67 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Thursday ) THEN sales_price#67 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Friday   ) THEN sales_price#67 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Saturday ) THEN sales_price#67 END))#40]

(40) ProjectExecTransformer
Output [8]: [d_week_seq#58, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Sunday   ) THEN sales_price#67 END))#34,17,2) AS sun_sales#68, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Monday   ) THEN sales_price#67 END))#35,17,2) AS mon_sales#69, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Tuesday  ) THEN sales_price#67 END))#36,17,2) AS tue_sales#70, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Wednesday) THEN sales_price#67 END))#37,17,2) AS wed_sales#71, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Thursday ) THEN sales_price#67 END))#38,17,2) AS thu_sales#72, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Friday   ) THEN sales_price#67 END))#39,17,2) AS fri_sales#73, MakeDecimal(sum(UnscaledValue(CASE WHEN (d_day_name#66 = Saturday ) THEN sales_price#67 END))#40,17,2) AS sat_sales#74]
Input [8]: [d_week_seq#58, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Sunday   ) THEN sales_price#67 END))#34, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Monday   ) THEN sales_price#67 END))#35, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Tuesday  ) THEN sales_price#67 END))#36, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Wednesday) THEN sales_price#67 END))#37, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Thursday ) THEN sales_price#67 END))#38, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Friday   ) THEN sales_price#67 END))#39, sum(UnscaledValue(CASE WHEN (d_day_name#66 = Saturday ) THEN sales_price#67 END))#40]

(41) FileSourceScanExecTransformer parquet spark_catalog.default.date_dim
Output [2]: [d_week_seq#75, d_year#76]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_year), EqualTo(d_year,2002), IsNotNull(d_week_seq)]
ReadSchema: struct<d_week_seq:int,d_year:int>

(42) FilterExecTransformer
Input [2]: [d_week_seq#75, d_year#76]
Arguments: ((isnotnull(d_year#76) AND (d_year#76 = 2002)) AND isnotnull(d_week_seq#75))

(43) ProjectExecTransformer
Output [1]: [d_week_seq#75]
Input [2]: [d_week_seq#75, d_year#76]

(44) WholeStageCodegenTransformer (10)
Input [1]: [d_week_seq#75]
Arguments: false

(45) ColumnarBroadcastExchange
Input [1]: [d_week_seq#75]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [plan_id=4]

(46) InputAdapter
Input [1]: [d_week_seq#75]

(47) InputIteratorTransformer
Input [1]: [d_week_seq#75]

(48) BroadcastHashJoinExecTransformer
Left keys [1]: [d_week_seq#58]
Right keys [1]: [d_week_seq#75]
Join type: Inner
Join condition: None

(49) ProjectExecTransformer
Output [8]: [d_week_seq#58 AS d_week_seq2#77, sun_sales#68 AS sun_sales2#78, mon_sales#69 AS mon_sales2#79, tue_sales#70 AS tue_sales2#80, wed_sales#71 AS wed_sales2#81, thu_sales#72 AS thu_sales2#82, fri_sales#73 AS fri_sales2#83, sat_sales#74 AS sat_sales2#84]
Input [9]: [d_week_seq#58, sun_sales#68, mon_sales#69, tue_sales#70, wed_sales#71, thu_sales#72, fri_sales#73, sat_sales#74, d_week_seq#75]

(50) WholeStageCodegenTransformer (11)
Input [8]: [d_week_seq2#77, sun_sales2#78, mon_sales2#79, tue_sales2#80, wed_sales2#81, thu_sales2#82, fri_sales2#83, sat_sales2#84]
Arguments: false

(51) ColumnarBroadcastExchange
Input [8]: [d_week_seq2#77, sun_sales2#78, mon_sales2#79, tue_sales2#80, wed_sales2#81, thu_sales2#82, fri_sales2#83, sat_sales2#84]
Arguments: HashedRelationBroadcastMode(List(cast((input[0, int, true] - 53) as bigint)),false), [plan_id=5]

(52) InputAdapter
Input [8]: [d_week_seq2#77, sun_sales2#78, mon_sales2#79, tue_sales2#80, wed_sales2#81, thu_sales2#82, fri_sales2#83, sat_sales2#84]

(53) InputIteratorTransformer
Input [8]: [d_week_seq2#77, sun_sales2#78, mon_sales2#79, tue_sales2#80, wed_sales2#81, thu_sales2#82, fri_sales2#83, sat_sales2#84]

(54) BroadcastHashJoinExecTransformer
Left keys [1]: [d_week_seq1#50]
Right keys [1]: [(d_week_seq2#77 - 53)]
Join type: Inner
Join condition: None

(55) ProjectExecTransformer
Output [8]: [d_week_seq1#50, round((sun_sales1#51 / sun_sales2#78), 2) AS round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1#52 / mon_sales2#79), 2) AS round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1#53 / tue_sales2#80), 2) AS round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1#54 / wed_sales2#81), 2) AS round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1#55 / thu_sales2#82), 2) AS round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1#56 / fri_sales2#83), 2) AS round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1#57 / sat_sales2#84), 2) AS round((sat_sales1 / sat_sales2), 2)#91]
Input [16]: [d_week_seq1#50, sun_sales1#51, mon_sales1#52, tue_sales1#53, wed_sales1#54, thu_sales1#55, fri_sales1#56, sat_sales1#57, d_week_seq2#77, sun_sales2#78, mon_sales2#79, tue_sales2#80, wed_sales2#81, thu_sales2#82, fri_sales2#83, sat_sales2#84]

(56) WholeStageCodegenTransformer (12)
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]
Arguments: false

(57) VeloxResizeBatches
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]
Arguments: 1024, 2147483647, 10485760

(58) ColumnarExchange
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]
Arguments: rangepartitioning(d_week_seq1#50 ASC NULLS FIRST, 1), ENSURE_REQUIREMENTS, [plan_id=6], [shuffle_writer_type=hash]

(59) InputAdapter
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]

(60) InputIteratorTransformer
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]

(61) SortExecTransformer
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]
Arguments: [d_week_seq1#50 ASC NULLS FIRST], true, 0

(62) WholeStageCodegenTransformer (13)
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]
Arguments: false

(63) VeloxColumnarToRow
Input [8]: [d_week_seq1#50, round((sun_sales1 / sun_sales2), 2)#85, round((mon_sales1 / mon_sales2), 2)#86, round((tue_sales1 / tue_sales2), 2)#87, round((wed_sales1 / wed_sales2), 2)#88, round((thu_sales1 / thu_sales2), 2)#89, round((fri_sales1 / fri_sales2), 2)#90, round((sat_sales1 / sat_sales2), 2)#91]

