/
explain.txt
122 lines (99 loc) · 5.1 KB
/
explain.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
== Physical Plan ==
TakeOrderedAndProject (21)
+- * HashAggregate (20)
+- Exchange (19)
+- * HashAggregate (18)
+- * Project (17)
+- * BroadcastHashJoin Inner BuildRight (16)
:- * Project (10)
: +- * BroadcastHashJoin Inner BuildLeft (9)
: :- BroadcastExchange (5)
: : +- * Project (4)
: : +- * Filter (3)
: : +- * ColumnarToRow (2)
: : +- Scan parquet default.date_dim (1)
: +- * Filter (8)
: +- * ColumnarToRow (7)
: +- Scan parquet default.store_sales (6)
+- BroadcastExchange (15)
+- * Project (14)
+- * Filter (13)
+- * ColumnarToRow (12)
+- Scan parquet default.item (11)
(1) Scan parquet default.date_dim
Output [3]: [d_date_sk#1, d_year#2, d_moy#3]
Batched: true
Location [not included in comparison]/{warehouse_dir}/date_dim]
PushedFilters: [IsNotNull(d_moy), IsNotNull(d_year), EqualTo(d_moy,11), EqualTo(d_year,2001), GreaterThanOrEqual(d_date_sk,2452215), LessThanOrEqual(d_date_sk,2452244), IsNotNull(d_date_sk)]
ReadSchema: struct<d_date_sk:int,d_year:int,d_moy:int>
(2) ColumnarToRow [codegen id : 1]
Input [3]: [d_date_sk#1, d_year#2, d_moy#3]
(3) Filter [codegen id : 1]
Input [3]: [d_date_sk#1, d_year#2, d_moy#3]
Condition : ((((((isnotnull(d_moy#3) AND isnotnull(d_year#2)) AND (d_moy#3 = 11)) AND (d_year#2 = 2001)) AND (d_date_sk#1 >= 2452215)) AND (d_date_sk#1 <= 2452244)) AND isnotnull(d_date_sk#1))
(4) Project [codegen id : 1]
Output [1]: [d_date_sk#1]
Input [3]: [d_date_sk#1, d_year#2, d_moy#3]
(5) BroadcastExchange
Input [1]: [d_date_sk#1]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [id=#4]
(6) Scan parquet default.store_sales
Output [3]: [ss_sold_date_sk#5, ss_item_sk#6, ss_ext_sales_price#7]
Batched: true
Location [not included in comparison]/{warehouse_dir}/store_sales]
PushedFilters: [IsNotNull(ss_sold_date_sk), GreaterThanOrEqual(ss_sold_date_sk,2452215), LessThanOrEqual(ss_sold_date_sk,2452244), IsNotNull(ss_item_sk)]
ReadSchema: struct<ss_sold_date_sk:int,ss_item_sk:int,ss_ext_sales_price:decimal(7,2)>
(7) ColumnarToRow
Input [3]: [ss_sold_date_sk#5, ss_item_sk#6, ss_ext_sales_price#7]
(8) Filter
Input [3]: [ss_sold_date_sk#5, ss_item_sk#6, ss_ext_sales_price#7]
Condition : (((isnotnull(ss_sold_date_sk#5) AND (ss_sold_date_sk#5 >= 2452215)) AND (ss_sold_date_sk#5 <= 2452244)) AND isnotnull(ss_item_sk#6))
(9) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [d_date_sk#1]
Right keys [1]: [ss_sold_date_sk#5]
Join condition: None
(10) Project [codegen id : 3]
Output [2]: [ss_item_sk#6, ss_ext_sales_price#7]
Input [4]: [d_date_sk#1, ss_sold_date_sk#5, ss_item_sk#6, ss_ext_sales_price#7]
(11) Scan parquet default.item
Output [4]: [i_item_sk#8, i_brand_id#9, i_brand#10, i_manager_id#11]
Batched: true
Location [not included in comparison]/{warehouse_dir}/item]
PushedFilters: [IsNotNull(i_manager_id), EqualTo(i_manager_id,48), IsNotNull(i_item_sk)]
ReadSchema: struct<i_item_sk:int,i_brand_id:int,i_brand:string,i_manager_id:int>
(12) ColumnarToRow [codegen id : 2]
Input [4]: [i_item_sk#8, i_brand_id#9, i_brand#10, i_manager_id#11]
(13) Filter [codegen id : 2]
Input [4]: [i_item_sk#8, i_brand_id#9, i_brand#10, i_manager_id#11]
Condition : ((isnotnull(i_manager_id#11) AND (i_manager_id#11 = 48)) AND isnotnull(i_item_sk#8))
(14) Project [codegen id : 2]
Output [3]: [i_item_sk#8, i_brand_id#9, i_brand#10]
Input [4]: [i_item_sk#8, i_brand_id#9, i_brand#10, i_manager_id#11]
(15) BroadcastExchange
Input [3]: [i_item_sk#8, i_brand_id#9, i_brand#10]
Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [id=#12]
(16) BroadcastHashJoin [codegen id : 3]
Left keys [1]: [ss_item_sk#6]
Right keys [1]: [i_item_sk#8]
Join condition: None
(17) Project [codegen id : 3]
Output [3]: [ss_ext_sales_price#7, i_brand_id#9, i_brand#10]
Input [5]: [ss_item_sk#6, ss_ext_sales_price#7, i_item_sk#8, i_brand_id#9, i_brand#10]
(18) HashAggregate [codegen id : 3]
Input [3]: [ss_ext_sales_price#7, i_brand_id#9, i_brand#10]
Keys [2]: [i_brand#10, i_brand_id#9]
Functions [1]: [partial_sum(UnscaledValue(ss_ext_sales_price#7))]
Aggregate Attributes [1]: [sum#13]
Results [3]: [i_brand#10, i_brand_id#9, sum#14]
(19) Exchange
Input [3]: [i_brand#10, i_brand_id#9, sum#14]
Arguments: hashpartitioning(i_brand#10, i_brand_id#9, 5), true, [id=#15]
(20) HashAggregate [codegen id : 4]
Input [3]: [i_brand#10, i_brand_id#9, sum#14]
Keys [2]: [i_brand#10, i_brand_id#9]
Functions [1]: [sum(UnscaledValue(ss_ext_sales_price#7))]
Aggregate Attributes [1]: [sum(UnscaledValue(ss_ext_sales_price#7))#16]
Results [3]: [i_brand_id#9 AS brand_id#17, i_brand#10 AS brand#18, MakeDecimal(sum(UnscaledValue(ss_ext_sales_price#7))#16,17,2) AS ext_price#19]
(21) TakeOrderedAndProject
Input [3]: [brand_id#17, brand#18, ext_price#19]
Arguments: 100, [ext_price#19 DESC NULLS LAST, brand_id#17 ASC NULLS FIRST], [brand_id#17, brand#18, ext_price#19]