digraph G {
subgraph cluster0 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: 1.0 s";
1 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 34 ms<br>number of output rows: 1"];
}
2 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 200<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>139 ms (0 ms, 0 ms, 6 ms (stage 4.0: task 205))<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: 200<br>local bytes read: 11.0 KiB<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 200<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>3.1 KiB (16.0 B, 16.0 B, 16.0 B (stage 4.0: task 7))<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>11.0 KiB (56.0 B, 56.0 B, 59.0 B (stage 4.0: task 7))"];
subgraph cluster3 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n764 ms (1 ms, 3 ms, 36 ms (stage 4.0: task 120))";
4 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>674 ms (1 ms, 2 ms, 36 ms (stage 4.0: task 120))<br>peak memory: 0.0 B<br>number of output rows: 200<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
5 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>13 ms (0 ms, 0 ms, 8 ms (stage 4.0: task 7))<br>peak memory total (min, med, max (stageId: taskId))<br>50.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 4.0: task 7))<br>number of output rows: 31<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
}
6 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 34<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>50 ms (7 ms, 9 ms, 25 ms (stage 3.0: task 3))<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: 34<br>local bytes read total (min, med, max (stageId: taskId))<br>2006.0 B (59.0 B, 59.0 B, 118.0 B (stage 4.0: task 7))<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 4.0: task 7))<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 34<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>544.0 B (96.0 B, 144.0 B, 160.0 B (stage 3.0: task 4))<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>2006.0 B (354.0 B, 531.0 B, 590.0 B (stage 3.0: task 4))"];
subgraph cluster7 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n3.4 s (429 ms, 781 ms, 1.6 s (stage 3.0: task 3))";
8 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>3.1 s (417 ms, 760 ms, 1.4 s (stage 3.0: task 3))<br>peak memory total (min, med, max (stageId: taskId))<br>1024.0 KiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 3.0: task 3))<br>number of output rows: 34<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
9 [labelType="html" label="<br><b>Project</b><br><br>"];
10 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 20,405,666<br>number of input batches: 4,982"];
}
11 [labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time total (min, med, max (stageId: taskId))<br>735 ms (68 ms, 119 ms, 454 ms (stage 3.0: task 3))<br>metadata time: 0 ms<br>size of files read: 468.3 MiB<br>number of output rows: 20,405,666"];
2->1;
4->2;
5->4;
6->5;
8->6;
9->8;
10->9;
11->10;
}
12
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (3)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=58]
HashAggregate(keys=[], functions=[partial_count(1)])
HashAggregate(keys=[_groupingexpression#79], functions=[])
WholeStageCodegen (2)
Exchange hashpartitioning(_groupingexpression#79, 200), ENSURE_REQUIREMENTS, [plan_id=53]
HashAggregate(keys=[_groupingexpression#79], functions=[])
Project [cast(pickup_datetime#27 as date) AS _groupingexpression#79]
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet [pickup_datetime#27] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/home/jovyan/inbound/fhvhv_tripdata_2025-01.parquet], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<pickup_datetime:timestamp_ntz>