== Physical Plan ==
VeloxColumnarToRow (78)
+- ^ FilterExecTransformer (76)
   +- ^ RegularHashAggregateExecTransformer (75)
      +- ^ InputIteratorTransformer (74)
         +- ColumnarExchange (72)
            +- VeloxResizeBatches (71)
               +- ^ ProjectExecTransformer (69)
                  +- ^ FlushableHashAggregateExecTransformer (68)
                     +- ^ ProjectExecTransformer (67)
                        +- ^ RegularHashAggregateExecTransformer (66)
                           +- ^ InputIteratorTransformer (65)
                              +- ColumnarExchange (63)
                                 +- VeloxResizeBatches (62)
                                    +- ^ ProjectExecTransformer (60)
                                       +- ^ FlushableHashAggregateExecTransformer (59)
                                          +- ^ ProjectExecTransformer (58)
                                             +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (57)
                                                :- ^ ProjectExecTransformer (41)
                                                :  +- ^ ShuffledHashJoinExecTransformer Inner BuildLeft (40)
                                                :     :- ^ InputIteratorTransformer (31)
                                                :     :  +- ColumnarExchange (29)
                                                :     :     +- VeloxResizeBatches (28)
                                                :     :        +- ^ ProjectExecTransformer (26)
                                                :     :           +- ^ ShuffledHashJoinExecTransformer Inner BuildRight (25)
                                                :     :              :- ^ InputIteratorTransformer (16)
                                                :     :              :  +- ColumnarExchange (14)
                                                :     :              :     +- VeloxResizeBatches (13)
                                                :     :              :        +- ^ ProjectExecTransformer (11)
                                                :     :              :           +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (10)
                                                :     :              :              :- ^ ProjectExecTransformer (3)
                                                :     :              :              :  +- ^ FilterExecTransformer (2)
                                                :     :              :              :     +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store_sales (1)
                                                :     :              :              +- ^ InputIteratorTransformer (9)
                                                :     :              :                 +- ColumnarBroadcastExchange (7)
                                                :     :              :                    +- ^ FilterExecTransformer (5)
                                                :     :              :                       +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.item (4)
                                                :     :              +- ^ InputIteratorTransformer (24)
                                                :     :                 +- ColumnarExchange (22)
                                                :     :                    +- VeloxResizeBatches (21)
                                                :     :                       +- ^ ProjectExecTransformer (19)
                                                :     :                          +- ^ FilterExecTransformer (18)
                                                :     :                             +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.customer (17)
                                                :     +- ^ InputIteratorTransformer (39)
                                                :        +- ColumnarExchange (37)
                                                :           +- VeloxResizeBatches (36)
                                                :              +- ^ ProjectExecTransformer (34)
                                                :                 +- ^ FilterExecTransformer (33)
                                                :                    +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store_returns (32)
                                                +- ^ InputIteratorTransformer (56)
                                                   +- ColumnarBroadcastExchange (54)
                                                      +- ^ ProjectExecTransformer (52)
                                                         +- ^ BroadcastHashJoinExecTransformer Inner BuildLeft (51)
                                                            :- ^ InputIteratorTransformer (48)
                                                            :  +- ColumnarBroadcastExchange (46)
                                                            :     +- ^ ProjectExecTransformer (44)
                                                            :        +- ^ FilterExecTransformer (43)
                                                            :           +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store (42)
                                                            +- ^ FilterExecTransformer (50)
                                                               +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.customer_address (49)


(1) FileSourceScanExecTransformer parquet spark_catalog.default.store_sales
Output [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]
Batched: true
Location: CatalogFileIndex [{warehouse_dir}/store_sales]
PushedFilters: [IsNotNull(ss_ticket_number), IsNotNull(ss_item_sk), IsNotNull(ss_store_sk), IsNotNull(ss_customer_sk)]
ReadSchema: struct<ss_item_sk:int,ss_customer_sk:int,ss_store_sk:int,ss_ticket_number:int,ss_net_paid:decimal(7,2)>

(2) FilterExecTransformer
Input [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]
Arguments: ((((isnotnull(ss_ticket_number#4) AND isnotnull(ss_item_sk#1)) AND isnotnull(ss_store_sk#3)) AND isnotnull(ss_customer_sk#2)) AND velox_might_contain(Subquery scalar-subquery#7, [id=#1], xxhash64(ss_store_sk#3, 42)))

(3) ProjectExecTransformer
Output [5]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5]
Input [6]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, ss_sold_date_sk#6]

(4) FileSourceScanExecTransformer parquet spark_catalog.default.item
Output [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/item]
PushedFilters: [IsNotNull(i_color), EqualTo(i_color,pale                ), IsNotNull(i_item_sk)]
ReadSchema: struct<i_item_sk:int,i_current_price:decimal(7,2),i_size:string,i_color:string,i_units:string,i_manager_id:int>

(5) FilterExecTransformer
Input [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: ((isnotnull(i_color#11) AND (i_color#11 = pale                )) AND isnotnull(i_item_sk#8))

(6) WholeStageCodegenTransformer (14)
Input [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: false

(7) ColumnarBroadcastExchange
Input [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, false] as bigint)),false), [plan_id=2]

(8) InputAdapter
Input [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]

(9) InputIteratorTransformer
Input [6]: [i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]

(10) BroadcastHashJoinExecTransformer
Left keys [1]: [ss_item_sk#1]
Right keys [1]: [i_item_sk#8]
Join type: Inner
Join condition: None

(11) ProjectExecTransformer
Output [11]: [hash(ss_customer_sk#2, 42) AS hash_partition_key#14, ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Input [11]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_item_sk#8, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]

(12) WholeStageCodegenTransformer (15)
Input [11]: [hash_partition_key#14, ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: false

(13) VeloxResizeBatches
Input [11]: [hash_partition_key#14, ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: 1024, 2147483647, 10485760

(14) ColumnarExchange
Input [11]: [hash_partition_key#14, ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]
Arguments: hashpartitioning(ss_customer_sk#2, 1), ENSURE_REQUIREMENTS, [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13], [plan_id=3], [shuffle_writer_type=hash]

(15) InputAdapter
Input [10]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]

(16) InputIteratorTransformer
Input [10]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13]

(17) FileSourceScanExecTransformer parquet spark_catalog.default.customer
Output [4]: [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/customer]
PushedFilters: [IsNotNull(c_customer_sk), IsNotNull(c_birth_country)]
ReadSchema: struct<c_customer_sk:int,c_first_name:string,c_last_name:string,c_birth_country:string>

(18) FilterExecTransformer
Input [4]: [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: (isnotnull(c_customer_sk#15) AND isnotnull(c_birth_country#18))

(19) ProjectExecTransformer
Output [5]: [hash(c_customer_sk#15, 42) AS hash_partition_key#19, c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Input [4]: [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]

(20) WholeStageCodegenTransformer (16)
Input [5]: [hash_partition_key#19, c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: false

(21) VeloxResizeBatches
Input [5]: [hash_partition_key#19, c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: 1024, 2147483647, 10485760

(22) ColumnarExchange
Input [5]: [hash_partition_key#19, c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: hashpartitioning(c_customer_sk#15, 1), ENSURE_REQUIREMENTS, [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18], [plan_id=4], [shuffle_writer_type=hash]

(23) InputAdapter
Input [4]: [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]

(24) InputIteratorTransformer
Input [4]: [c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]

(25) ShuffledHashJoinExecTransformer
Left keys [1]: [ss_customer_sk#2]
Right keys [1]: [c_customer_sk#15]
Join type: Inner
Join condition: None

(26) ProjectExecTransformer
Output [13]: [hash(ss_ticket_number#4, ss_item_sk#1, 42) AS hash_partition_key#20, ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]
Input [14]: [ss_item_sk#1, ss_customer_sk#2, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_customer_sk#15, c_first_name#16, c_last_name#17, c_birth_country#18]

(27) WholeStageCodegenTransformer (17)
Input [13]: [hash_partition_key#20, ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: false

(28) VeloxResizeBatches
Input [13]: [hash_partition_key#20, ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: 1024, 2147483647, 10485760

(29) ColumnarExchange
Input [13]: [hash_partition_key#20, ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]
Arguments: hashpartitioning(ss_ticket_number#4, ss_item_sk#1, 1), ENSURE_REQUIREMENTS, [ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18], [plan_id=5], [shuffle_writer_type=hash]

(30) InputAdapter
Input [12]: [ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]

(31) InputIteratorTransformer
Input [12]: [ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]

(32) FileSourceScanExecTransformer parquet spark_catalog.default.store_returns
Output [3]: [sr_item_sk#21, sr_ticket_number#22, sr_returned_date_sk#23]
Batched: true
Location: CatalogFileIndex [{warehouse_dir}/store_returns]
PushedFilters: [IsNotNull(sr_ticket_number), IsNotNull(sr_item_sk)]
ReadSchema: struct<sr_item_sk:int,sr_ticket_number:int>

(33) FilterExecTransformer
Input [3]: [sr_item_sk#21, sr_ticket_number#22, sr_returned_date_sk#23]
Arguments: (isnotnull(sr_ticket_number#22) AND isnotnull(sr_item_sk#21))

(34) ProjectExecTransformer
Output [3]: [hash(sr_ticket_number#22, sr_item_sk#21, 42) AS hash_partition_key#24, sr_item_sk#21, sr_ticket_number#22]
Input [3]: [sr_item_sk#21, sr_ticket_number#22, sr_returned_date_sk#23]

(35) WholeStageCodegenTransformer (18)
Input [3]: [hash_partition_key#24, sr_item_sk#21, sr_ticket_number#22]
Arguments: false

(36) VeloxResizeBatches
Input [3]: [hash_partition_key#24, sr_item_sk#21, sr_ticket_number#22]
Arguments: 1024, 2147483647, 10485760

(37) ColumnarExchange
Input [3]: [hash_partition_key#24, sr_item_sk#21, sr_ticket_number#22]
Arguments: hashpartitioning(sr_ticket_number#22, sr_item_sk#21, 1), ENSURE_REQUIREMENTS, [sr_item_sk#21, sr_ticket_number#22], [plan_id=6], [shuffle_writer_type=hash]

(38) InputAdapter
Input [2]: [sr_item_sk#21, sr_ticket_number#22]

(39) InputIteratorTransformer
Input [2]: [sr_item_sk#21, sr_ticket_number#22]

(40) ShuffledHashJoinExecTransformer
Left keys [2]: [ss_ticket_number#4, ss_item_sk#1]
Right keys [2]: [sr_ticket_number#22, sr_item_sk#21]
Join type: Inner
Join condition: None

(41) ProjectExecTransformer
Output [10]: [ss_store_sk#3, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18]
Input [14]: [ss_item_sk#1, ss_store_sk#3, ss_ticket_number#4, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18, sr_item_sk#21, sr_ticket_number#22]

(42) FileSourceScanExecTransformer parquet spark_catalog.default.store
Output [5]: [s_store_sk#25, s_store_name#26, s_market_id#27, s_state#28, s_zip#29]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/store]
PushedFilters: [IsNotNull(s_market_id), EqualTo(s_market_id,8), IsNotNull(s_store_sk), IsNotNull(s_zip)]
ReadSchema: struct<s_store_sk:int,s_store_name:string,s_market_id:int,s_state:string,s_zip:string>

(43) FilterExecTransformer
Input [5]: [s_store_sk#25, s_store_name#26, s_market_id#27, s_state#28, s_zip#29]
Arguments: (((isnotnull(s_market_id#27) AND (s_market_id#27 = 8)) AND isnotnull(s_store_sk#25)) AND isnotnull(s_zip#29))

(44) ProjectExecTransformer
Output [4]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29]
Input [5]: [s_store_sk#25, s_store_name#26, s_market_id#27, s_state#28, s_zip#29]

(45) WholeStageCodegenTransformer (19)
Input [4]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29]
Arguments: false

(46) ColumnarBroadcastExchange
Input [4]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29]
Arguments: HashedRelationBroadcastMode(List(input[3, string, true]),false), [plan_id=7]

(47) InputAdapter
Input [4]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29]

(48) InputIteratorTransformer
Input [4]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29]

(49) FileSourceScanExecTransformer parquet spark_catalog.default.customer_address
Output [3]: [ca_state#30, ca_zip#31, ca_country#32]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/customer_address]
PushedFilters: [IsNotNull(ca_country), IsNotNull(ca_zip)]
ReadSchema: struct<ca_state:string,ca_zip:string,ca_country:string>

(50) FilterExecTransformer
Input [3]: [ca_state#30, ca_zip#31, ca_country#32]
Arguments: (isnotnull(ca_country#32) AND isnotnull(ca_zip#31))

(51) BroadcastHashJoinExecTransformer
Left keys [1]: [s_zip#29]
Right keys [1]: [ca_zip#31]
Join type: Inner
Join condition: None

(52) ProjectExecTransformer
Output [5]: [s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]
Input [7]: [s_store_sk#25, s_store_name#26, s_state#28, s_zip#29, ca_state#30, ca_zip#31, ca_country#32]

(53) WholeStageCodegenTransformer (20)
Input [5]: [s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]
Arguments: false

(54) ColumnarBroadcastExchange
Input [5]: [s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]
Arguments: HashedRelationBroadcastMode(List(input[0, int, true], upper(input[4, string, true])),false), [plan_id=8]

(55) InputAdapter
Input [5]: [s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]

(56) InputIteratorTransformer
Input [5]: [s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]

(57) BroadcastHashJoinExecTransformer
Left keys [2]: [ss_store_sk#3, c_birth_country#18]
Right keys [2]: [s_store_sk#25, upper(ca_country#32)]
Join type: Inner
Join condition: None

(58) ProjectExecTransformer
Output [11]: [s_store_name#26, s_state#28, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, ca_state#30, UnscaledValue(ss_net_paid#5) AS _pre_1#33]
Input [15]: [ss_store_sk#3, ss_net_paid#5, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, c_birth_country#18, s_store_sk#25, s_store_name#26, s_state#28, ca_state#30, ca_country#32]

(59) FlushableHashAggregateExecTransformer
Input [11]: [s_store_name#26, s_state#28, i_current_price#9, i_size#10, i_color#11, i_units#12, i_manager_id#13, c_first_name#16, c_last_name#17, ca_state#30, _pre_1#33]
Keys [10]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10]
Functions [1]: [partial_sum(_pre_1#33)]
Aggregate Attributes [1]: [sum#34]
Results [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]

(60) ProjectExecTransformer
Output [12]: [hash(c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, 42) AS hash_partition_key#36, c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]
Input [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]

(61) WholeStageCodegenTransformer (21)
Input [12]: [hash_partition_key#36, c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]
Arguments: false

(62) VeloxResizeBatches
Input [12]: [hash_partition_key#36, c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]
Arguments: 1024, 2147483647, 10485760

(63) ColumnarExchange
Input [12]: [hash_partition_key#36, c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]
Arguments: hashpartitioning(c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, 1), ENSURE_REQUIREMENTS, [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35], [plan_id=9], [shuffle_writer_type=hash]

(64) InputAdapter
Input [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]

(65) InputIteratorTransformer
Input [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]

(66) RegularHashAggregateExecTransformer
Input [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum#35]
Keys [10]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10]
Functions [1]: [sum(UnscaledValue(ss_net_paid#5))]
Aggregate Attributes [1]: [sum(UnscaledValue(ss_net_paid#5))#37]
Results [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum(UnscaledValue(ss_net_paid#5))#37]

(67) ProjectExecTransformer
Output [4]: [c_last_name#17, c_first_name#16, s_store_name#26, MakeDecimal(sum(UnscaledValue(ss_net_paid#5))#37,17,2) AS netpaid#38]
Input [11]: [c_last_name#17, c_first_name#16, s_store_name#26, ca_state#30, s_state#28, i_color#11, i_current_price#9, i_manager_id#13, i_units#12, i_size#10, sum(UnscaledValue(ss_net_paid#5))#37]

(68) FlushableHashAggregateExecTransformer
Input [4]: [c_last_name#17, c_first_name#16, s_store_name#26, netpaid#38]
Keys [3]: [c_last_name#17, c_first_name#16, s_store_name#26]
Functions [1]: [partial_sum(netpaid#38)]
Aggregate Attributes [2]: [sum#39, isEmpty#40]
Results [5]: [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]

(69) ProjectExecTransformer
Output [6]: [hash(c_last_name#17, c_first_name#16, s_store_name#26, 42) AS hash_partition_key#43, c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]
Input [5]: [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]

(70) WholeStageCodegenTransformer (22)
Input [6]: [hash_partition_key#43, c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]
Arguments: false

(71) VeloxResizeBatches
Input [6]: [hash_partition_key#43, c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]
Arguments: 1024, 2147483647, 10485760

(72) ColumnarExchange
Input [6]: [hash_partition_key#43, c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]
Arguments: hashpartitioning(c_last_name#17, c_first_name#16, s_store_name#26, 1), ENSURE_REQUIREMENTS, [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42], [plan_id=10], [shuffle_writer_type=hash]

(73) InputAdapter
Input [5]: [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]

(74) InputIteratorTransformer
Input [5]: [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]

(75) RegularHashAggregateExecTransformer
Input [5]: [c_last_name#17, c_first_name#16, s_store_name#26, sum#41, isEmpty#42]
Keys [3]: [c_last_name#17, c_first_name#16, s_store_name#26]
Functions [1]: [sum(netpaid#38)]
Aggregate Attributes [1]: [sum(netpaid#38)#44]
Results [4]: [c_last_name#17, c_first_name#16, s_store_name#26, sum(netpaid#38)#44 AS paid#45]

(76) FilterExecTransformer
Input [4]: [c_last_name#17, c_first_name#16, s_store_name#26, paid#45]
Arguments: (isnotnull(paid#45) AND (cast(paid#45 as decimal(33,8)) > cast(Subquery scalar-subquery#46, [id=#11] as decimal(33,8))))

(77) WholeStageCodegenTransformer (23)
Input [4]: [c_last_name#17, c_first_name#16, s_store_name#26, paid#45]
Arguments: false

(78) VeloxColumnarToRow
Input [4]: [c_last_name#17, c_first_name#16, s_store_name#26, paid#45]

===== Subqueries =====

Subquery:1 Hosting operator id = 76 Hosting Expression = Subquery scalar-subquery#46, [id=#11]
VeloxColumnarToRow (153)
+- ^ ProjectExecTransformer (151)
   +- ^ RegularHashAggregateExecTransformer (150)
      +- ^ ProjectExecTransformer (149)
         +- ^ RegularHashAggregateExecTransformer (148)
            +- ^ InputIteratorTransformer (147)
               +- ColumnarExchange (145)
                  +- VeloxResizeBatches (144)
                     +- ^ ProjectExecTransformer (142)
                        +- ^ FlushableHashAggregateExecTransformer (141)
                           +- ^ ProjectExecTransformer (140)
                              +- ^ ShuffledHashJoinExecTransformer Inner BuildRight (139)
                                 :- ^ InputIteratorTransformer (130)
                                 :  +- ColumnarExchange (128)
                                 :     +- VeloxResizeBatches (127)
                                 :        +- ^ ProjectExecTransformer (125)
                                 :           +- ^ ShuffledHashJoinExecTransformer Inner BuildRight (124)
                                 :              :- ^ InputIteratorTransformer (120)
                                 :              :  +- ColumnarExchange (118)
                                 :              :     +- VeloxResizeBatches (117)
                                 :              :        +- ^ ProjectExecTransformer (115)
                                 :              :           +- ^ ShuffledHashJoinExecTransformer Inner BuildRight (114)
                                 :              :              :- ^ InputIteratorTransformer (110)
                                 :              :              :  +- ColumnarExchange (108)
                                 :              :              :     +- VeloxResizeBatches (107)
                                 :              :              :        +- ^ ProjectExecTransformer (105)
                                 :              :              :           +- ^ ShuffledHashJoinExecTransformer Inner BuildRight (104)
                                 :              :              :              :- ^ InputIteratorTransformer (95)
                                 :              :              :              :  +- ColumnarExchange (93)
                                 :              :              :              :     +- VeloxResizeBatches (92)
                                 :              :              :              :        +- ^ ProjectExecTransformer (90)
                                 :              :              :              :           +- ^ BroadcastHashJoinExecTransformer Inner BuildRight (89)
                                 :              :              :              :              :- ^ ProjectExecTransformer (81)
                                 :              :              :              :              :  +- ^ FilterExecTransformer (80)
                                 :              :              :              :              :     +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store_sales (79)
                                 :              :              :              :              +- ^ InputIteratorTransformer (88)
                                 :              :              :              :                 +- ColumnarBroadcastExchange (86)
                                 :              :              :              :                    +- ^ ProjectExecTransformer (84)
                                 :              :              :              :                       +- ^ FilterExecTransformer (83)
                                 :              :              :              :                          +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store (82)
                                 :              :              :              +- ^ InputIteratorTransformer (103)
                                 :              :              :                 +- ColumnarExchange (101)
                                 :              :              :                    +- VeloxResizeBatches (100)
                                 :              :              :                       +- ^ ProjectExecTransformer (98)
                                 :              :              :                          +- ^ FilterExecTransformer (97)
                                 :              :              :                             +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.item (96)
                                 :              :              +- ^ InputIteratorTransformer (113)
                                 :              :                 +- ReusedExchange (111)
                                 :              +- ^ InputIteratorTransformer (123)
                                 :                 +- ReusedExchange (121)
                                 +- ^ InputIteratorTransformer (138)
                                    +- ColumnarExchange (136)
                                       +- VeloxResizeBatches (135)
                                          +- ^ ProjectExecTransformer (133)
                                             +- ^ FilterExecTransformer (132)
                                                +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.customer_address (131)


(79) FileSourceScanExecTransformer parquet spark_catalog.default.store_sales
Output [6]: [ss_item_sk#47, ss_customer_sk#48, ss_store_sk#49, ss_ticket_number#50, ss_net_paid#51, ss_sold_date_sk#52]
Batched: true
Location: CatalogFileIndex [{warehouse_dir}/store_sales]
PushedFilters: [IsNotNull(ss_ticket_number), IsNotNull(ss_item_sk), IsNotNull(ss_store_sk), IsNotNull(ss_customer_sk)]
ReadSchema: struct<ss_item_sk:int,ss_customer_sk:int,ss_store_sk:int,ss_ticket_number:int,ss_net_paid:decimal(7,2)>

(80) FilterExecTransformer
Input [6]: [ss_item_sk#47, ss_customer_sk#48, ss_store_sk#49, ss_ticket_number#50, ss_net_paid#51, ss_sold_date_sk#52]
Arguments: (((isnotnull(ss_ticket_number#50) AND isnotnull(ss_item_sk#47)) AND isnotnull(ss_store_sk#49)) AND isnotnull(ss_customer_sk#48))

(81) ProjectExecTransformer
Output [5]: [ss_item_sk#47, ss_customer_sk#48, ss_store_sk#49, ss_ticket_number#50, ss_net_paid#51]
Input [6]: [ss_item_sk#47, ss_customer_sk#48, ss_store_sk#49, ss_ticket_number#50, ss_net_paid#51, ss_sold_date_sk#52]

(82) FileSourceScanExecTransformer parquet spark_catalog.default.store
Output [5]: [s_store_sk#53, s_store_name#54, s_market_id#55, s_state#56, s_zip#57]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/store]
PushedFilters: [IsNotNull(s_market_id), EqualTo(s_market_id,8), IsNotNull(s_store_sk), IsNotNull(s_zip)]
ReadSchema: struct<s_store_sk:int,s_store_name:string,s_market_id:int,s_state:string,s_zip:string>

(83) FilterExecTransformer
Input [5]: [s_store_sk#53, s_store_name#54, s_market_id#55, s_state#56, s_zip#57]
Arguments: (((isnotnull(s_market_id#55) AND (s_market_id#55 = 8)) AND isnotnull(s_store_sk#53)) AND isnotnull(s_zip#57))

(84) ProjectExecTransformer
Output [4]: [s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]
Input [5]: [s_store_sk#53, s_store_name#54, s_market_id#55, s_state#56, s_zip#57]

(85) WholeStageCodegenTransformer (1)
Input [4]: [s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]
Arguments: false

(86) ColumnarBroadcastExchange
Input [4]: [s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [plan_id=12]

(87) InputAdapter
Input [4]: [s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]

(88) InputIteratorTransformer
Input [4]: [s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]

(89) BroadcastHashJoinExecTransformer
Left keys [1]: [ss_store_sk#49]
Right keys [1]: [s_store_sk#53]
Join type: Inner
Join condition: None

(90) ProjectExecTransformer
Output [8]: [hash(ss_item_sk#47, 42) AS hash_partition_key#58, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]
Input [9]: [ss_item_sk#47, ss_customer_sk#48, ss_store_sk#49, ss_ticket_number#50, ss_net_paid#51, s_store_sk#53, s_store_name#54, s_state#56, s_zip#57]

(91) WholeStageCodegenTransformer (2)
Input [8]: [hash_partition_key#58, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]
Arguments: false

(92) VeloxResizeBatches
Input [8]: [hash_partition_key#58, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]
Arguments: 1024, 2147483647, 10485760

(93) ColumnarExchange
Input [8]: [hash_partition_key#58, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]
Arguments: hashpartitioning(ss_item_sk#47, 1), ENSURE_REQUIREMENTS, [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57], [plan_id=13], [shuffle_writer_type=hash]

(94) InputAdapter
Input [7]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]

(95) InputIteratorTransformer
Input [7]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57]

(96) FileSourceScanExecTransformer parquet spark_catalog.default.item
Output [6]: [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/item]
PushedFilters: [IsNotNull(i_item_sk)]
ReadSchema: struct<i_item_sk:int,i_current_price:decimal(7,2),i_size:string,i_color:string,i_units:string,i_manager_id:int>

(97) FilterExecTransformer
Input [6]: [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: isnotnull(i_item_sk#59)

(98) ProjectExecTransformer
Output [7]: [hash(i_item_sk#59, 42) AS hash_partition_key#65, i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Input [6]: [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(99) WholeStageCodegenTransformer (3)
Input [7]: [hash_partition_key#65, i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: false

(100) VeloxResizeBatches
Input [7]: [hash_partition_key#65, i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: 1024, 2147483647, 10485760

(101) ColumnarExchange
Input [7]: [hash_partition_key#65, i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: hashpartitioning(i_item_sk#59, 1), ENSURE_REQUIREMENTS, [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64], [plan_id=14], [shuffle_writer_type=hash]

(102) InputAdapter
Input [6]: [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(103) InputIteratorTransformer
Input [6]: [i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(104) ShuffledHashJoinExecTransformer
Left keys [1]: [ss_item_sk#47]
Right keys [1]: [i_item_sk#59]
Join type: Inner
Join condition: None

(105) ProjectExecTransformer
Output [13]: [hash(ss_customer_sk#48, 42) AS hash_partition_key#66, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Input [13]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_item_sk#59, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(106) WholeStageCodegenTransformer (4)
Input [13]: [hash_partition_key#66, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: false

(107) VeloxResizeBatches
Input [13]: [hash_partition_key#66, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: 1024, 2147483647, 10485760

(108) ColumnarExchange
Input [13]: [hash_partition_key#66, ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]
Arguments: hashpartitioning(ss_customer_sk#48, 1), ENSURE_REQUIREMENTS, [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64], [plan_id=15], [shuffle_writer_type=hash]

(109) InputAdapter
Input [12]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(110) InputIteratorTransformer
Input [12]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64]

(111) ReusedExchange [Reuses operator id: 22]
Output [4]: [c_customer_sk#67, c_first_name#68, c_last_name#69, c_birth_country#70]

(112) InputAdapter
Input [4]: [c_customer_sk#67, c_first_name#68, c_last_name#69, c_birth_country#70]

(113) InputIteratorTransformer
Input [4]: [c_customer_sk#67, c_first_name#68, c_last_name#69, c_birth_country#70]

(114) ShuffledHashJoinExecTransformer
Left keys [1]: [ss_customer_sk#48]
Right keys [1]: [c_customer_sk#67]
Join type: Inner
Join condition: None

(115) ProjectExecTransformer
Output [15]: [hash(ss_ticket_number#50, ss_item_sk#47, 42) AS hash_partition_key#71, ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Input [16]: [ss_item_sk#47, ss_customer_sk#48, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_customer_sk#67, c_first_name#68, c_last_name#69, c_birth_country#70]

(116) WholeStageCodegenTransformer (6)
Input [15]: [hash_partition_key#71, ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: false

(117) VeloxResizeBatches
Input [15]: [hash_partition_key#71, ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: 1024, 2147483647, 10485760

(118) ColumnarExchange
Input [15]: [hash_partition_key#71, ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: hashpartitioning(ss_ticket_number#50, ss_item_sk#47, 1), ENSURE_REQUIREMENTS, [ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70], [plan_id=16], [shuffle_writer_type=hash]

(119) InputAdapter
Input [14]: [ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]

(120) InputIteratorTransformer
Input [14]: [ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]

(121) ReusedExchange [Reuses operator id: 37]
Output [2]: [sr_item_sk#72, sr_ticket_number#73]

(122) InputAdapter
Input [2]: [sr_item_sk#72, sr_ticket_number#73]

(123) InputIteratorTransformer
Input [2]: [sr_item_sk#72, sr_ticket_number#73]

(124) ShuffledHashJoinExecTransformer
Left keys [2]: [ss_ticket_number#50, ss_item_sk#47]
Right keys [2]: [sr_ticket_number#73, sr_item_sk#72]
Join type: Inner
Join condition: None

(125) ProjectExecTransformer
Output [13]: [hash(c_birth_country#70, s_zip#57, 42) AS hash_partition_key#74, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Input [16]: [ss_item_sk#47, ss_ticket_number#50, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70, sr_item_sk#72, sr_ticket_number#73]

(126) WholeStageCodegenTransformer (8)
Input [13]: [hash_partition_key#74, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: false

(127) VeloxResizeBatches
Input [13]: [hash_partition_key#74, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: 1024, 2147483647, 10485760

(128) ColumnarExchange
Input [13]: [hash_partition_key#74, ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]
Arguments: hashpartitioning(c_birth_country#70, s_zip#57, 1), ENSURE_REQUIREMENTS, [ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70], [plan_id=17], [shuffle_writer_type=hash]

(129) InputAdapter
Input [12]: [ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]

(130) InputIteratorTransformer
Input [12]: [ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70]

(131) FileSourceScanExecTransformer parquet spark_catalog.default.customer_address
Output [3]: [ca_state#75, ca_zip#76, ca_country#77]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/customer_address]
PushedFilters: [IsNotNull(ca_country), IsNotNull(ca_zip)]
ReadSchema: struct<ca_state:string,ca_zip:string,ca_country:string>

(132) FilterExecTransformer
Input [3]: [ca_state#75, ca_zip#76, ca_country#77]
Arguments: (isnotnull(ca_country#77) AND isnotnull(ca_zip#76))

(133) ProjectExecTransformer
Output [4]: [hash(upper(ca_country#77), ca_zip#76, 42) AS hash_partition_key#78, ca_state#75, ca_zip#76, ca_country#77]
Input [3]: [ca_state#75, ca_zip#76, ca_country#77]

(134) WholeStageCodegenTransformer (9)
Input [4]: [hash_partition_key#78, ca_state#75, ca_zip#76, ca_country#77]
Arguments: false

(135) VeloxResizeBatches
Input [4]: [hash_partition_key#78, ca_state#75, ca_zip#76, ca_country#77]
Arguments: 1024, 2147483647, 10485760

(136) ColumnarExchange
Input [4]: [hash_partition_key#78, ca_state#75, ca_zip#76, ca_country#77]
Arguments: hashpartitioning(upper(ca_country#77), ca_zip#76, 1), ENSURE_REQUIREMENTS, [ca_state#75, ca_zip#76, ca_country#77], [plan_id=18], [shuffle_writer_type=hash]

(137) InputAdapter
Input [3]: [ca_state#75, ca_zip#76, ca_country#77]

(138) InputIteratorTransformer
Input [3]: [ca_state#75, ca_zip#76, ca_country#77]

(139) ShuffledHashJoinExecTransformer
Left keys [2]: [c_birth_country#70, s_zip#57]
Right keys [2]: [upper(ca_country#77), ca_zip#76]
Join type: Inner
Join condition: None

(140) ProjectExecTransformer
Output [11]: [s_store_name#54, s_state#56, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, ca_state#75, UnscaledValue(ss_net_paid#51) AS _pre_2#79]
Input [15]: [ss_net_paid#51, s_store_name#54, s_state#56, s_zip#57, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, c_birth_country#70, ca_state#75, ca_zip#76, ca_country#77]

(141) FlushableHashAggregateExecTransformer
Input [11]: [s_store_name#54, s_state#56, i_current_price#60, i_size#61, i_color#62, i_units#63, i_manager_id#64, c_first_name#68, c_last_name#69, ca_state#75, _pre_2#79]
Keys [10]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61]
Functions [1]: [partial_sum(_pre_2#79)]
Aggregate Attributes [1]: [sum#80]
Results [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]

(142) ProjectExecTransformer
Output [12]: [hash(c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, 42) AS hash_partition_key#82, c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]
Input [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]

(143) WholeStageCodegenTransformer (10)
Input [12]: [hash_partition_key#82, c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]
Arguments: false

(144) VeloxResizeBatches
Input [12]: [hash_partition_key#82, c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]
Arguments: 1024, 2147483647, 10485760

(145) ColumnarExchange
Input [12]: [hash_partition_key#82, c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]
Arguments: hashpartitioning(c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, 1), ENSURE_REQUIREMENTS, [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81], [plan_id=19], [shuffle_writer_type=hash]

(146) InputAdapter
Input [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]

(147) InputIteratorTransformer
Input [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]

(148) RegularHashAggregateExecTransformer
Input [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum#81]
Keys [10]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61]
Functions [1]: [sum(UnscaledValue(ss_net_paid#51))]
Aggregate Attributes [1]: [sum(UnscaledValue(ss_net_paid#51))#37]
Results [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum(UnscaledValue(ss_net_paid#51))#37]

(149) ProjectExecTransformer
Output [1]: [MakeDecimal(sum(UnscaledValue(ss_net_paid#51))#37,17,2) AS netpaid#83]
Input [11]: [c_last_name#69, c_first_name#68, s_store_name#54, ca_state#75, s_state#56, i_color#62, i_current_price#60, i_manager_id#64, i_units#63, i_size#61, sum(UnscaledValue(ss_net_paid#51))#37]

(150) RegularHashAggregateExecTransformer
Input [1]: [netpaid#83]
Keys: []
Functions [1]: [avg(netpaid#83)]
Aggregate Attributes [1]: [avg(netpaid#83)#84]
Results [1]: [avg(netpaid#83)#84]

(151) ProjectExecTransformer
Output [1]: [(0.05 * avg(netpaid#83)#84) AS (0.05 * avg(netpaid))#85]
Input [1]: [avg(netpaid#83)#84]

(152) WholeStageCodegenTransformer (11)
Input [1]: [(0.05 * avg(netpaid))#85]
Arguments: false

(153) VeloxColumnarToRow
Input [1]: [(0.05 * avg(netpaid))#85]

Subquery:2 Hosting operator id = 2 Hosting Expression = Subquery scalar-subquery#7, [id=#1]
VeloxColumnarToRow (165)
+- ^ RegularHashAggregateExecTransformer (163)
   +- ^ InputIteratorTransformer (162)
      +- ColumnarExchange (160)
         +- VeloxResizeBatches (159)
            +- ^ FlushableHashAggregateExecTransformer (157)
               +- ^ ProjectExecTransformer (156)
                  +- ^ FilterExecTransformer (155)
                     +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store (154)


(154) FileSourceScanExecTransformer parquet spark_catalog.default.store
Output [3]: [s_store_sk#25, s_market_id#27, s_zip#29]
Batched: true
Location: InMemoryFileIndex [{warehouse_dir}/store]
PushedFilters: [IsNotNull(s_market_id), EqualTo(s_market_id,8), IsNotNull(s_store_sk), IsNotNull(s_zip)]
ReadSchema: struct<s_store_sk:int,s_market_id:int,s_zip:string>

(155) FilterExecTransformer
Input [3]: [s_store_sk#25, s_market_id#27, s_zip#29]
Arguments: (((isnotnull(s_market_id#27) AND (s_market_id#27 = 8)) AND isnotnull(s_store_sk#25)) AND isnotnull(s_zip#29))

(156) ProjectExecTransformer
Output [1]: [xxhash64(s_store_sk#25, 42) AS _pre_3#86]
Input [3]: [s_store_sk#25, s_market_id#27, s_zip#29]

(157) FlushableHashAggregateExecTransformer
Input [1]: [_pre_3#86]
Keys: []
Functions [1]: [partial_velox_bloom_filter_agg(_pre_3#86, 40, 1250, 0, 0)]
Aggregate Attributes [1]: [buf#87]
Results [1]: [buf#88]

(158) WholeStageCodegenTransformer (12)
Input [1]: [buf#88]
Arguments: false

(159) VeloxResizeBatches
Input [1]: [buf#88]
Arguments: 1024, 2147483647, 10485760

(160) ColumnarExchange
Input [1]: [buf#88]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=20], [shuffle_writer_type=hash]

(161) InputAdapter
Input [1]: [buf#88]

(162) InputIteratorTransformer
Input [1]: [buf#88]

(163) RegularHashAggregateExecTransformer
Input [1]: [buf#88]
Keys: []
Functions [1]: [velox_bloom_filter_agg(xxhash64(s_store_sk#25, 42), 40, 1250, 0, 0)]
Aggregate Attributes [1]: [bloom_filter_agg(xxhash64(s_store_sk#25, 42), 40, 1250, 0, 0)#89]
Results [1]: [bloom_filter_agg(xxhash64(s_store_sk#25, 42), 40, 1250, 0, 0)#89 AS bloomFilter#90]

(164) WholeStageCodegenTransformer (13)
Input [1]: [bloomFilter#90]
Arguments: false

(165) VeloxColumnarToRow
Input [1]: [bloomFilter#90]

Subquery:3 Hosting operator id = 1 Hosting Expression = Subquery scalar-subquery#7, [id=#1]
VeloxColumnarToRow (165)
+- ^ RegularHashAggregateExecTransformer (163)
   +- ^ InputIteratorTransformer (162)
      +- ColumnarExchange (160)
         +- VeloxResizeBatches (159)
            +- ^ FlushableHashAggregateExecTransformer (157)
               +- ^ ProjectExecTransformer (156)
                  +- ^ FilterExecTransformer (155)
                     +- ^ FileSourceScanExecTransformer parquet spark_catalog.default.store (154)



