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: 3<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>1 ms (0 ms, 0 ms, 0 ms (stage 540.0: task 445))<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: 3<br>local bytes read: 174.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: 3<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>48.0 B (16.0 B, 16.0 B, 16.0 B (stage 540.0: task 444))<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>174.0 B (56.0 B, 59.0 B, 59.0 B (stage 540.0: task 444))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n11 ms (3 ms, 4 ms, 4 ms (stage 540.0: task 444))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>9 ms (3 ms, 3 ms, 3 ms (stage 540.0: task 444))<br>number of output rows: 3"];
}
6 [labelType="html" label="<br><b>Union</b><br><br>"];
7 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 0<br>number of files read: 1<br>metadata time: 0 ms<br>size of files read: 2.0 B"];
subgraph cluster8 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: 3 ms";
9 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 25<br>number of input batches: 1"];
}
10 [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: 52.4 KiB<br>number of output rows: 25"];
subgraph cluster11 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 3 ms";
12 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 11<br>number of input batches: 1"];
}
13 [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: 24.5 KiB<br>number of output rows: 11"];
2->0;
3->2;
5->3;
6->5;
7->6;
9->6;
10->9;
12->6;
13->12;
}
14
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (4)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=13755]
HashAggregate(keys=[], functions=[partial_count(1)])
WholeStageCodegen (3)
Union
FileScan csv [] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/csv/execution/empty.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<>
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/parquet/execution/VLIB_C_API_QUALITY_REPORT/cur..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<>
ColumnarToRow
WholeStageCodegen (2)
FileScan parquet [] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/data/input/depot/parquet/execution/GRP_GHM_V2025_C_API_QUALITY_R..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<>