digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (4)\n \nduration: 0 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 0 ms<br>number of output rows: 1"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 1<br>local bytes read: 59.0 B<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 1<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 16.0 B<br>local merged bytes read: 0.0 B<br>number of partitions: 1<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 59.0 B"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: 16 ms";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 15 ms<br>number of output rows: 1"];
6 [labelType="html" label="<br><b>Project</b><br><br>"];
7 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 1,054"];
8 [labelType="html" label="<b>Generate</b><br><br>number of output rows: 1,054"];
9 [labelType="html" label="<br><b>Project</b><br><br>"];
10 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 76"];
}
11 [labelType="html" label="<b>Window</b><br><br>spill size: 0.0 B"];
subgraph cluster12 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 74 ms";
13 [labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 16.1 MiB<br>spill size: 0.0 B"];
}
14 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>partition data size: 6.9 KiB<br>number of coalesced partitions: 1"];
15 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 76<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 76<br>local bytes read: 6.4 KiB<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 1<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 49.2 KiB<br>local merged bytes read: 0.0 B<br>number of partitions: 10<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 6.4 KiB"];
subgraph cluster16 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 46 ms";
17 [labelType="html" label="<br><b>Project</b><br><br>"];
18 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 76<br>number of input batches: 1"];
}
19 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 4 ms<br>metadata time: 0 ms<br>size of files read: 4.7 KiB<br>number of output rows: 76"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
9->8;
10->9;
11->10;
13->11;
14->13;
15->14;
17->15;
18->17;
19->18;
}
20
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (4)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9172]
HashAggregate(keys=[], functions=[partial_count(1)])
Project
Filter ((CASE WHEN isnull(Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME) END)
Generate explode(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303), [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355], false, [COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
Project [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, str_concat(array(int_to_str(COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314), -, date_to_str(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, yyyy/MM/dd HH:mm:ss))) AS COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355]
Filter ((size(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, true) > 0) AND isnotnull(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303))
WholeStageCodegen (3)
Window [row_number() windowspecdefinition(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 1 DESC NULLS LAST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314], [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301], [1 DESC NULLS LAST]
Sort [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301 ASC NULLS FIRST, 1 DESC NULLS LAST], false, 0
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 10), ENSURE_REQUIREMENTS, [plan_id=9076]
Project [cast(Time+Stamp#119059 as timestamp) AS COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, Alarm+Value#119060 AS COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, str_split(Alarm+Value#119060, |) AS COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [Time+Stamp#119059,Alarm+Value#119060] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/excel/cache/0A2CF169_565C_40A9_8C97_AF52B8017F7..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<Time+Stamp:string,Alarm+Value:string>
== Physical Plan ==
AdaptiveSparkPlan (30)
+- == Final Plan ==
* HashAggregate (17)
+- ShuffleQueryStage (16), Statistics(sizeInBytes=16.0 B, rowCount=1)
+- Exchange (15)
+- * HashAggregate (14)
+- * Project (13)
+- * Filter (12)
+- * Generate (11)
+- * Project (10)
+- * Filter (9)
+- Window (8)
+- * Sort (7)
+- AQEShuffleRead (6)
+- ShuffleQueryStage (5), Statistics(sizeInBytes=49.2 KiB, rowCount=76)
+- Exchange (4)
+- * Project (3)
+- * ColumnarToRow (2)
+- Scan parquet (1)
+- == Initial Plan ==
HashAggregate (29)
+- Exchange (28)
+- HashAggregate (27)
+- Project (26)
+- Filter (25)
+- Generate (24)
+- Project (23)
+- Filter (22)
+- Window (21)
+- Sort (20)
+- Exchange (19)
+- Project (18)
+- Scan parquet (1)
(1) Scan parquet
Output [2]: [Time+Stamp#119059, Alarm+Value#119060]
Batched: true
Location: InMemoryFileIndex [file:/data/input/depot/excel/cache/0A2CF169_565C_40A9_8C97_AF52B8017F78_e757cb73fb40347be872e450e0045e28/1._Alarm_Sample_Data.xlsx_ace13a7404815253302346182a49e79c]
ReadSchema: struct<Time+Stamp:string,Alarm+Value:string>
(2) ColumnarToRow [codegen id : 1]
Input [2]: [Time+Stamp#119059, Alarm+Value#119060]
(3) Project [codegen id : 1]
Output [3]: [cast(Time+Stamp#119059 as timestamp) AS COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, Alarm+Value#119060 AS COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, str_split(Alarm+Value#119060, |) AS COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Input [2]: [Time+Stamp#119059, Alarm+Value#119060]
(4) Exchange
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: hashpartitioning(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 10), ENSURE_REQUIREMENTS, [plan_id=9076]
(5) ShuffleQueryStage
Output [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: 0
(6) AQEShuffleRead
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: coalesced
(7) Sort [codegen id : 2]
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301 ASC NULLS FIRST, 1 DESC NULLS LAST], false, 0
(8) Window
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: [row_number() windowspecdefinition(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 1 DESC NULLS LAST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314], [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301], [1 DESC NULLS LAST]
(9) Filter [codegen id : 3]
Input [4]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314]
Condition : ((size(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, true) > 0) AND isnotnull(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303))
(10) Project [codegen id : 3]
Output [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, str_concat(array(int_to_str(COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314), -, date_to_str(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, yyyy/MM/dd HH:mm:ss))) AS COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355]
Input [4]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314]
(11) Generate [codegen id : 3]
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355]
Arguments: explode(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303), [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355], false, [COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
(12) Filter [codegen id : 3]
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355, COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
Condition : ((CASE WHEN isnull(Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME) END)
(13) Project [codegen id : 3]
Output: []
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355, COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
(14) HashAggregate [codegen id : 3]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#119479L]
Results [1]: [count#119480L]
(15) Exchange
Input [1]: [count#119480L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9172]
(16) ShuffleQueryStage
Output [1]: [count#119480L]
Arguments: 1
(17) HashAggregate [codegen id : 4]
Input [1]: [count#119480L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#119462L]
Results [1]: [count(1)#119462L AS COL_8477a476-0aa1-4550-9aee-a19a316cebb2#119464L]
(18) Project
Output [3]: [cast(Time+Stamp#119059 as timestamp) AS COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, Alarm+Value#119060 AS COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, str_split(Alarm+Value#119060, |) AS COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Input [2]: [Time+Stamp#119059, Alarm+Value#119060]
(19) Exchange
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: hashpartitioning(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 10), ENSURE_REQUIREMENTS, [plan_id=9036]
(20) Sort
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301 ASC NULLS FIRST, 1 DESC NULLS LAST], false, 0
(21) Window
Input [3]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303]
Arguments: [row_number() windowspecdefinition(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, 1 DESC NULLS LAST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314], [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301], [1 DESC NULLS LAST]
(22) Filter
Input [4]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314]
Condition : ((size(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, true) > 0) AND isnotnull(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303))
(23) Project
Output [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, str_concat(array(int_to_str(COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314), -, date_to_str(COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, yyyy/MM/dd HH:mm:ss))) AS COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355]
Input [4]: [COL_C0D8F3D6_A9FC_4A90_99ED_408955F75775#119301, COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_D5A2A2BF_D10D_4F90_A9FD_D8D678447721#119314]
(24) Generate
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355]
Arguments: explode(COL_7C6D3146_DAB6_42AA_B7D6_F23300F36C1A#119303), [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355], false, [COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
(25) Filter
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355, COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
Condition : ((CASE WHEN isnull(Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302)), ME) END OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_B2D48770_3265_46F1_969A_743C0908972E#119364)), ME) END) OR CASE WHEN isnull(Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME)) THEN false ELSE Contains(str_remove_accent(upper(COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355)), ME) END)
(26) Project
Output: []
Input [3]: [COL_1B4EBDB5_53D8_4CBF_A267_58D2B3C7F25E#119302, COL_5AF236A9_794D_487C_A16C_5785B7578EF7#119355, COL_B2D48770_3265_46F1_969A_743C0908972E#119364]
(27) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#119479L]
Results [1]: [count#119480L]
(28) Exchange
Input [1]: [count#119480L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=9046]
(29) HashAggregate
Input [1]: [count#119480L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#119462L]
Results [1]: [count(1)#119462L AS COL_8477a476-0aa1-4550-9aee-a19a316cebb2#119464L]
(30) AdaptiveSparkPlan
Output [1]: [COL_8477a476-0aa1-4550-9aee-a19a316cebb2#119464L]
Arguments: isFinalPlan=true