digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 18 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 7 ms<br>peak memory: 256.0 KiB<br>number of output rows: 2<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
}
3 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>partition data size: 312.0 B<br>number of coalesced partitions: 1"];
4 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 2<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>37 ms (0 ms, 0 ms, 37 ms (stage 1.0: task 1))<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: 2<br>local bytes read: 292.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 total (min, med, max (stageId: taskId))<br>224.0 B (0.0 B, 0.0 B, 224.0 B (stage 1.0: task 1))<br>local merged bytes read: 0.0 B<br>number of partitions: 200<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>292.0 B (0.0 B, 0.0 B, 292.0 B (stage 1.0: task 1))"];
subgraph cluster5 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.9 s (0 ms, 797 ms, 2.1 s (stage 1.0: task 1))";
6 [labelType="html" label="<b>HashAggregate</b><br><br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 1.0: task 2))<br>time in aggregation build total (min, med, max (stageId: taskId))<br>2.4 s (0 ms, 560 ms, 1.8 s (stage 1.0: task 1))<br>peak memory total (min, med, max (stageId: taskId))<br>512.0 KiB (0.0 B, 256.0 KiB, 256.0 KiB (stage 1.0: task 2))<br>number of output rows: 2<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
7 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 1,779,245<br>number of input batches: 435"];
}
8 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time total (min, med, max (stageId: taskId))<br>1.6 s (0 ms, 555 ms, 1.1 s (stage 1.0: task 1))<br>metadata time total (min, med, max (stageId: taskId))<br>12 ms (0 ms, 0 ms, 12 ms (driver))<br>size of files read total (min, med, max (stageId: taskId))<br>71.2 MiB (0.0 B, 0.0 B, 71.2 MiB (driver))<br>number of output rows: 1,779,245"];
2->0;
3->2;
4->3;
6->4;
7->6;
8->7;
}
9
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[_source_file#13], functions=[])
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(_source_file#13, 200), ENSURE_REQUIREMENTS, [plan_id=29]
HashAggregate(keys=[_source_file#13], functions=[])
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [_source_file#13] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[s3a://rzvde-g11-kiryanova-tatiana/raw_valid/citibike_data/year=2026/mo..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<_source_file:string>