digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
1 [labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 1"];
2 [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: 88.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: 56.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: 88.0 B"];
3 [labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 1"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (5)\n \nduration: 36 ms";
5 [labelType="html" label="<br><b>Project</b><br><br>"];
6 [labelType="html" label="<b>SortMergeJoin</b><br><br>number of output rows: 1,382<br>spill size: 0.0 B"];
}
subgraph cluster7 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: 49 ms";
8 [labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 64.1 MiB<br>spill size: 0.0 B"];
}
9 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>partition data size: 20.0 KiB<br>number of coalesced partitions: 1"];
10 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1,382<br>local merged chunks fetched: 0<br>shuffle write time: 3 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,382<br>local bytes read: 18.8 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: 97.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: 18.8 KiB"];
subgraph cluster11 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 7 ms";
12 [labelType="html" label="<br><b>Project</b><br><br>"];
13 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 1,382<br>number of input batches: 1"];
}
14 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time: 3 ms<br>metadata time: 0 ms<br>size of files read: 127.1 KiB<br>number of output rows: 1,382"];
subgraph cluster15 {
isCluster="true";
label="WholeStageCodegen (4)\n \nduration: 48 ms";
16 [labelType="html" label="<b>Sort</b><br><br>sort time: 0 ms<br>peak memory: 64.1 MiB<br>spill size: 0.0 B"];
}
17 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>partition data size: 9.4 KiB<br>number of coalesced partitions: 1"];
18 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 189<br>local merged chunks fetched: 0<br>shuffle write time: 2 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: 189<br>local bytes read: 8.8 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: 10.3 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: 8.8 KiB"];
subgraph cluster19 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 100 ms";
20 [labelType="html" label="<br><b>Project</b><br><br>"];
21 [labelType="html" label="<b>Scan JDBCRelation((SELECT RAWTOHEX(PATIENT_ID), \"BIRTH_DATE\", \"GENDER\", \"PSEUDO\", \"INHOSPITAL_DEATH_DATE\", \"INHOSPITAL_DEATH_CODE\", \"DEATH_DATE\", \"EXTERNAL_DEATH_PROCESS_ID\" FROM \"DTM_622\".\"PATIENT\") x) [numPartitions=1] </b><br><br>number of output rows: 189"];
}
1->0;
2->1;
3->2;
5->3;
6->5;
8->6;
9->8;
10->9;
12->10;
13->12;
14->13;
16->6;
17->16;
18->17;
20->18;
21->20;
}
22
AdaptiveSparkPlan isFinalPlan=true
SortAggregate(key=[], functions=[count(1), count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)])
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10813]
SortAggregate(key=[], functions=[partial_count(1), partial_count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)])
Project [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
SortMergeJoin [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272], [PATIENT_3332_PATIENT_ID_3333#67456], LeftOuter
WholeStageCodegen (5)
Sort [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272 ASC NULLS FIRST], false, 0
WholeStageCodegen (3)
AQEShuffleRead coalesced
Exchange hashpartitioning(COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, 10), ENSURE_REQUIREMENTS, [plan_id=10714]
Project [PATIENT_ID_3360#67217 AS COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, UNIT_3361#67218 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [PATIENT_ID_3360#67217,UNIT_3361#67218] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/data/output/cache/parquet/uet/VISIT_UNIT_3357], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<PATIENT_ID_3360:string,UNIT_3361:string>
Sort [PATIENT_3332_PATIENT_ID_3333#67456 ASC NULLS FIRST], false, 0
WholeStageCodegen (4)
AQEShuffleRead coalesced
Exchange hashpartitioning(PATIENT_3332_PATIENT_ID_3333#67456, 10), ENSURE_REQUIREMENTS, [plan_id=10725]
Project [RAWTOHEX(PATIENT_ID)#67134 AS PATIENT_3332_PATIENT_ID_3333#67456]
Scan JDBCRelation((SELECT RAWTOHEX(PATIENT_ID), "BIRTH_DATE", "GENDER", "PSEUDO", "INHOSPITAL_DEATH_DATE", "INHOSPITAL_DEATH_CODE", "DEATH_DATE", "EXTERNAL_DEATH_PROCESS_ID" FROM "DTM_622"."PATIENT") x) [numPartitions=1] [RAWTOHEX(PATIENT_ID)#67134] PushedFilters: [*IsNotNull(RAWTOHEX(PATIENT_ID))], ReadSchema: struct<RAWTOHEX(PATIENT_ID):string>
WholeStageCodegen (2)
== Physical Plan ==
AdaptiveSparkPlan (30)
+- == Final Plan ==
SortAggregate (19)
+- ShuffleQueryStage (18), Statistics(sizeInBytes=56.0 B, rowCount=1)
+- Exchange (17)
+- SortAggregate (16)
+- * Project (15)
+- * SortMergeJoin LeftOuter (14)
:- * Sort (7)
: +- AQEShuffleRead (6)
: +- ShuffleQueryStage (5), Statistics(sizeInBytes=97.2 KiB, rowCount=1.38E+3)
: +- Exchange (4)
: +- * Project (3)
: +- * ColumnarToRow (2)
: +- Scan parquet (1)
+- * Sort (13)
+- AQEShuffleRead (12)
+- ShuffleQueryStage (11), Statistics(sizeInBytes=10.3 KiB, rowCount=189)
+- Exchange (10)
+- * Project (9)
+- * Scan JDBCRelation((SELECT RAWTOHEX(PATIENT_ID), "BIRTH_DATE", "GENDER", "PSEUDO", "INHOSPITAL_DEATH_DATE", "INHOSPITAL_DEATH_CODE", "DEATH_DATE", "EXTERNAL_DEATH_PROCESS_ID" FROM "DTM_622"."PATIENT") x) [numPartitions=1] (8)
+- == Initial Plan ==
SortAggregate (29)
+- Exchange (28)
+- SortAggregate (27)
+- Project (26)
+- SortMergeJoin LeftOuter (25)
:- Sort (22)
: +- Exchange (21)
: +- Project (20)
: +- Scan parquet (1)
+- Sort (24)
+- Exchange (23)
+- Project (9)
+- Scan JDBCRelation((SELECT RAWTOHEX(PATIENT_ID), "BIRTH_DATE", "GENDER", "PSEUDO", "INHOSPITAL_DEATH_DATE", "INHOSPITAL_DEATH_CODE", "DEATH_DATE", "EXTERNAL_DEATH_PROCESS_ID" FROM "DTM_622"."PATIENT") x) [numPartitions=1] (8)
(1) Scan parquet
Output [2]: [PATIENT_ID_3360#67217, UNIT_3361#67218]
Batched: true
Location: InMemoryFileIndex [file:/data/output/cache/parquet/uet/VISIT_UNIT_3357]
ReadSchema: struct<PATIENT_ID_3360:string,UNIT_3361:string>
(2) ColumnarToRow [codegen id : 1]
Input [2]: [PATIENT_ID_3360#67217, UNIT_3361#67218]
(3) Project [codegen id : 1]
Output [2]: [PATIENT_ID_3360#67217 AS COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, UNIT_3361#67218 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Input [2]: [PATIENT_ID_3360#67217, UNIT_3361#67218]
(4) Exchange
Input [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: hashpartitioning(COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, 10), ENSURE_REQUIREMENTS, [plan_id=10714]
(5) ShuffleQueryStage
Output [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: 0
(6) AQEShuffleRead
Input [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: coalesced
(7) Sort [codegen id : 3]
Input [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272 ASC NULLS FIRST], false, 0
(8) Scan JDBCRelation((SELECT RAWTOHEX(PATIENT_ID), "BIRTH_DATE", "GENDER", "PSEUDO", "INHOSPITAL_DEATH_DATE", "INHOSPITAL_DEATH_CODE", "DEATH_DATE", "EXTERNAL_DEATH_PROCESS_ID" FROM "DTM_622"."PATIENT") x) [numPartitions=1] [codegen id : 2]
Output [1]: [RAWTOHEX(PATIENT_ID)#67134]
PushedFilters: [*IsNotNull(RAWTOHEX(PATIENT_ID))]
ReadSchema: struct<RAWTOHEX(PATIENT_ID):string>
(9) Project [codegen id : 2]
Output [1]: [RAWTOHEX(PATIENT_ID)#67134 AS PATIENT_3332_PATIENT_ID_3333#67456]
Input [1]: [RAWTOHEX(PATIENT_ID)#67134]
(10) Exchange
Input [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: hashpartitioning(PATIENT_3332_PATIENT_ID_3333#67456, 10), ENSURE_REQUIREMENTS, [plan_id=10725]
(11) ShuffleQueryStage
Output [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: 1
(12) AQEShuffleRead
Input [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: coalesced
(13) Sort [codegen id : 4]
Input [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: [PATIENT_3332_PATIENT_ID_3333#67456 ASC NULLS FIRST], false, 0
(14) SortMergeJoin [codegen id : 5]
Left keys [1]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272]
Right keys [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Join type: LeftOuter
Join condition: None
(15) Project [codegen id : 5]
Output [1]: [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Input [3]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273, PATIENT_3332_PATIENT_ID_3333#67456]
(16) SortAggregate
Input [1]: [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Keys: []
Functions [4]: [partial_count(1), partial_count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)]
Aggregate Attributes [4]: [count#67604L, count#67605L, min#67606, max#67607]
Results [4]: [count#67608L, count#67609L, min#67610, max#67611]
(17) Exchange
Input [4]: [count#67608L, count#67609L, min#67610, max#67611]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10813]
(18) ShuffleQueryStage
Output [4]: [count#67608L, count#67609L, min#67610, max#67611]
Arguments: 2
(19) SortAggregate
Input [4]: [count#67608L, count#67609L, min#67610, max#67611]
Keys: []
Functions [4]: [count(1), count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)]
Aggregate Attributes [4]: [count(1)#67566L, count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67569L, min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67572, max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67574]
Results [4]: [count(1)#67566L AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE1#67568L, count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67569L AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE2#67571L, min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67572 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE4#67573, max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67574 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE5#67575]
(20) Project
Output [2]: [PATIENT_ID_3360#67217 AS COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, UNIT_3361#67218 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Input [2]: [PATIENT_ID_3360#67217, UNIT_3361#67218]
(21) Exchange
Input [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: hashpartitioning(COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, 10), ENSURE_REQUIREMENTS, [plan_id=10676]
(22) Sort
Input [2]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Arguments: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272 ASC NULLS FIRST], false, 0
(23) Exchange
Input [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: hashpartitioning(PATIENT_3332_PATIENT_ID_3333#67456, 10), ENSURE_REQUIREMENTS, [plan_id=10677]
(24) Sort
Input [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Arguments: [PATIENT_3332_PATIENT_ID_3333#67456 ASC NULLS FIRST], false, 0
(25) SortMergeJoin
Left keys [1]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272]
Right keys [1]: [PATIENT_3332_PATIENT_ID_3333#67456]
Join type: LeftOuter
Join condition: None
(26) Project
Output [1]: [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Input [3]: [COL_FC9902B4_8859_4AF9_ADF1_99A2E15E5351#67272, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273, PATIENT_3332_PATIENT_ID_3333#67456]
(27) SortAggregate
Input [1]: [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273]
Keys: []
Functions [4]: [partial_count(1), partial_count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), partial_max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)]
Aggregate Attributes [4]: [count#67604L, count#67605L, min#67606, max#67607]
Results [4]: [count#67608L, count#67609L, min#67610, max#67611]
(28) Exchange
Input [4]: [count#67608L, count#67609L, min#67610, max#67611]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=10684]
(29) SortAggregate
Input [4]: [count#67608L, count#67609L, min#67610, max#67611]
Keys: []
Functions [4]: [count(1), count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273), max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)]
Aggregate Attributes [4]: [count(1)#67566L, count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67569L, min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67572, max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67574]
Results [4]: [count(1)#67566L AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE1#67568L, count(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67569L AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE2#67571L, min(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67572 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE4#67573, max(COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE#67273)#67574 AS COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE5#67575]
(30) AdaptiveSparkPlan
Output [4]: [COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE1#67568L, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE2#67571L, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE4#67573, COL_9A5ACA40_F512_495A_9718_534E3BBBA5EE5#67575]
Arguments: isFinalPlan=true