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: 90.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: 90.0 B"];
3 [labelType="html" label="<b>SortAggregate</b><br><br>number of output rows: 1"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 5.8 s";
5 [labelType="html" label="<br><b>Project</b><br><br>"];
6 [labelType="html" label="<b>Generate</b><br><br>number of output rows: 35,014"];
7 [labelType="html" label="<br><b>Project</b><br><br>"];
}
8 [labelType="html" label="<b>Scan json </b><br><br>number of output rows: 1<br>number of files read: 1<br>metadata time: 0 ms<br>size of files read: 56.9 MiB"];
1->0;
2->1;
3->2;
5->3;
6->5;
7->6;
8->7;
}
9
AdaptiveSparkPlan isFinalPlan=true
SortAggregate(key=[], functions=[count(1), count(COL__COMMUNE#331449), min(COL__COMMUNE#331449), max(COL__COMMUNE#331449)])
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=102388]
SortAggregate(key=[], functions=[partial_count(1), partial_count(COL__COMMUNE#331449), partial_min(COL__COMMUNE#331449), partial_max(COL__COMMUNE#331449)])
Project [4c49226d-68d1-4fdd-a188-155b30f07edf#331253 AS COL__COMMUNE#331449]
Generate explode(_extract_commune#331492), true, [4c49226d-68d1-4fdd-a188-155b30f07edf#331253]
Project [features#331238.properties.commune AS _extract_commune#331492]
WholeStageCodegen (1)
FileScan json [features#331238] Batched: false, DataFilters: [], Format: JSON, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/json/execution/A646ABC8_639B_48DC_9D76_B4DC2A8D..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<features:array<struct<geometry:struct<coordinates:array<array<array<string>>>,type:string>...
== Physical Plan ==
AdaptiveSparkPlan (15)
+- == Final Plan ==
SortAggregate (8)
+- ShuffleQueryStage (7), Statistics(sizeInBytes=56.0 B, rowCount=1)
+- Exchange (6)
+- SortAggregate (5)
+- * Project (4)
+- * Generate (3)
+- * Project (2)
+- Scan json (1)
+- == Initial Plan ==
SortAggregate (14)
+- Exchange (13)
+- SortAggregate (12)
+- Project (11)
+- Generate (10)
+- Project (9)
+- Scan json (1)
(1) Scan json
Output [1]: [features#331238]
Batched: false
Location: InMemoryFileIndex [file:/data/input/depot/json/execution/A646ABC8_639B_48DC_9D76_B4DC2A8D8DB5/current/ContourCommunes50.csv]
ReadSchema: struct<features:array<struct<geometry:struct<coordinates:array<array<array<string>>>,type:string>,properties:struct<code:string,commune:string,departement:string,epci:string,nom:string,plm:boolean,region:string>,type:string>>>
(2) Project [codegen id : 1]
Output [1]: [features#331238.properties.commune AS _extract_commune#331492]
Input [1]: [features#331238]
(3) Generate [codegen id : 1]
Input [1]: [_extract_commune#331492]
Arguments: explode(_extract_commune#331492), true, [4c49226d-68d1-4fdd-a188-155b30f07edf#331253]
(4) Project [codegen id : 1]
Output [1]: [4c49226d-68d1-4fdd-a188-155b30f07edf#331253 AS COL__COMMUNE#331449]
Input [1]: [4c49226d-68d1-4fdd-a188-155b30f07edf#331253]
(5) SortAggregate
Input [1]: [COL__COMMUNE#331449]
Keys: []
Functions [4]: [partial_count(1), partial_count(COL__COMMUNE#331449), partial_min(COL__COMMUNE#331449), partial_max(COL__COMMUNE#331449)]
Aggregate Attributes [4]: [count#331493L, count#331494L, min#331495, max#331496]
Results [4]: [count#331497L, count#331498L, min#331499, max#331500]
(6) Exchange
Input [4]: [count#331497L, count#331498L, min#331499, max#331500]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=102388]
(7) ShuffleQueryStage
Output [4]: [count#331497L, count#331498L, min#331499, max#331500]
Arguments: 0
(8) SortAggregate
Input [4]: [count#331497L, count#331498L, min#331499, max#331500]
Keys: []
Functions [4]: [count(1), count(COL__COMMUNE#331449), min(COL__COMMUNE#331449), max(COL__COMMUNE#331449)]
Aggregate Attributes [4]: [count(1)#331463L, count(COL__COMMUNE#331449)#331466L, min(COL__COMMUNE#331449)#331469, max(COL__COMMUNE#331449)#331471]
Results [4]: [count(1)#331463L AS COL__COMMUNE1#331465L, count(COL__COMMUNE#331449)#331466L AS COL__COMMUNE2#331468L, min(COL__COMMUNE#331449)#331469 AS COL__COMMUNE4#331470, max(COL__COMMUNE#331449)#331471 AS COL__COMMUNE5#331472]
(9) Project
Output [1]: [features#331238.properties.commune AS _extract_commune#331492]
Input [1]: [features#331238]
(10) Generate
Input [1]: [_extract_commune#331492]
Arguments: explode(_extract_commune#331492), true, [4c49226d-68d1-4fdd-a188-155b30f07edf#331253]
(11) Project
Output [1]: [4c49226d-68d1-4fdd-a188-155b30f07edf#331253 AS COL__COMMUNE#331449]
Input [1]: [4c49226d-68d1-4fdd-a188-155b30f07edf#331253]
(12) SortAggregate
Input [1]: [COL__COMMUNE#331449]
Keys: []
Functions [4]: [partial_count(1), partial_count(COL__COMMUNE#331449), partial_min(COL__COMMUNE#331449), partial_max(COL__COMMUNE#331449)]
Aggregate Attributes [4]: [count#331493L, count#331494L, min#331495, max#331496]
Results [4]: [count#331497L, count#331498L, min#331499, max#331500]
(13) Exchange
Input [4]: [count#331497L, count#331498L, min#331499, max#331500]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=102370]
(14) SortAggregate
Input [4]: [count#331497L, count#331498L, min#331499, max#331500]
Keys: []
Functions [4]: [count(1), count(COL__COMMUNE#331449), min(COL__COMMUNE#331449), max(COL__COMMUNE#331449)]
Aggregate Attributes [4]: [count(1)#331463L, count(COL__COMMUNE#331449)#331466L, min(COL__COMMUNE#331449)#331469, max(COL__COMMUNE#331449)#331471]
Results [4]: [count(1)#331463L AS COL__COMMUNE1#331465L, count(COL__COMMUNE#331449)#331466L AS COL__COMMUNE2#331468L, min(COL__COMMUNE#331449)#331469 AS COL__COMMUNE4#331470, max(COL__COMMUNE#331449)#331471 AS COL__COMMUNE5#331472]
(15) AdaptiveSparkPlan
Output [4]: [COL__COMMUNE1#331465L, COL__COMMUNE2#331468L, COL__COMMUNE4#331470, COL__COMMUNE5#331472]
Arguments: isFinalPlan=true