digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\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: 10<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>20 ms (0 ms, 0 ms, 17 ms (stage 18396.0: task 24305))<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: 10<br>local bytes read: 590.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: 10<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>160.0 B (16.0 B, 16.0 B, 16.0 B (stage 18396.0: task 24307))<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 total (min, med, max (stageId: taskId))<br>590.0 B (59.0 B, 59.0 B, 59.0 B (stage 18396.0: task 24307))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n8.6 s (768 ms, 862 ms, 934 ms (stage 18396.0: task 24303))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>8.6 s (767 ms, 862 ms, 934 ms (stage 18396.0: task 24303))<br>number of output rows: 10"];
6 [labelType="html" label="<br><b>Project</b><br><br>"];
7 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 2,133,238"];
}
8 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 2,133,239<br>number of files read: 1<br>metadata time: 0 ms<br>size of files read: 385.0 MiB"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
}
9
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=893817]
HashAggregate(keys=[], functions=[partial_count(1)])
Project
Filter isnotnull(str_if_with_rule(((((((CASE WHEN isnull(StartsWith(_c0#1353856, A)) THEN false ELSE StartsWith(_c0#1353856, A) END OR CASE WHEN isnull(StartsWith(_c0#1353856, B)) THEN false ELSE StartsWith(_c0#1353856, B) END) OR CASE WHEN isnull(StartsWith(_c0#1353856, C)) THEN false ELSE StartsWith(_c0#1353856, C) END) OR CASE WHEN isnull(StartsWith(_c0#1353856, H)) THEN false ELSE StartsWith(_c0#1353856, H) END) OR CASE WHEN isnull(StartsWith(_c0#1353856, L)) THEN false ELSE StartsWith(_c0#1353856, L) END) OR CASE WHEN isnull(StartsWith(_c0#1353856, M)) THEN false ELSE StartsWith(_c0#1353856, M) END) OR CASE WHEN isnull(StartsWith(_c0#1353856, P)) THEN false ELSE StartsWith(_c0#1353856, P) END), str_extract_middle(_c0#1353856, 2, 9), null))
WholeStageCodegen (1)
FileScan csv [_c0#1353856] Batched: false, DataFilters: [isnotnull(str_if_with_rule(((((((CASE WHEN isnull(StartsWith(_c0#1353856, A)) THEN false ELSE St..., Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/csv/tmp/RSF_SERVEUR_187901/RSFACE_MCO_2025m12_2..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_c0:string>