digraph G {
0 [id="node0" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster1 {
isCluster="true";
id="cluster1";
label="WholeStageCodegen (2)\n \nduration: 10 ms";
tooltip="WholeStageCodegen (2)";
2 [id="node2" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 1 ms<br>peak memory: 64.2 MiB<br>number of output rows: 11<br>number of sort fallback tasks: 0<br>avg hash probes per key: 1" tooltip="HashAggregate(keys=[passenger_count#6108], functions=[])"];
}
3 [id="node3" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>number of empty partitions: 189<br>partition data size: 1428.0 B<br>number of coalesced partitions: 1" tooltip="AQEShuffleRead coalesced"];
4 [id="node4" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 20<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 20<br>local bytes read: 737.0 B<br>merged fetch fallback count: 0<br>local blocks read: 11<br>remote merged chunks fetched: 0<br>remote blocks read: 9<br>data size total (min, med, max (stageId: taskId))<br>472.0 B (216.0 B, 256.0 B, 256.0 B (stage 132.0: task 689))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>10 ms (5 ms, 5 ms, 5 ms (stage 132.0: task 689))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 612.0 B<br>number of partitions: 200<br>remote reqs duration: 9 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>1349.0 B (612.0 B, 737.0 B, 737.0 B (stage 132.0: task 689))" tooltip="Exchange hashpartitioning(passenger_count#6108, 200), ENSURE_REQUIREMENTS, [plan_id=1735]"];
subgraph cluster5 {
isCluster="true";
id="cluster5";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n901 ms (443 ms, 458 ms, 458 ms (stage 132.0: task 688))";
tooltip="WholeStageCodegen (1)";
6 [id="node6" 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>879 ms (428 ms, 451 ms, 451 ms (stage 132.0: task 688))<br>peak memory total (min, med, max (stageId: taskId))<br>64.5 MiB (256.0 KiB, 64.2 MiB, 64.2 MiB (stage 132.0: task 689))<br>number of output rows: 20<br>number of sort fallback tasks: 0<br>avg hash probes per key: 1" tooltip="HashAggregate(keys=[passenger_count#6108], functions=[])"];
7 [id="node7" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [cast(passenger_count#6043L as string) AS passenger_count#6108]"];
8 [id="node8" labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 3,539,193<br>number of input batches: 865" tooltip="ColumnarToRow"];
}
9 [id="node9" labelType="html" label="<b>Scan parquet </b><br><br>number of files read: 1<br>scan time total (min, med, max (stageId: taskId))<br>164 ms (75 ms, 89 ms, 89 ms (stage 132.0: task 688))<br>metadata time: 0 ms<br>size of files read: 57.1 MiB<br>number of output rows: 3,539,193" tooltip="FileScan parquet [passenger_count#6043L] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/home/jovyan/data/yellow-taxi/yellow_tripdata_2024-06.parquet], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<passenger_count:bigint>"];
2->0;
3->2;
4->3;
6->4;
7->6;
8->7;
9->8;
}
== Physical Plan ==
AdaptiveSparkPlan (15)
+- == Final Plan ==
ResultQueryStage (9), Statistics(sizeInBytes=8.0 EiB)
+- * HashAggregate (8)
+- AQEShuffleRead (7)
+- ShuffleQueryStage (6), Statistics(sizeInBytes=472.0 B, rowCount=20)
+- Exchange (5)
+- * HashAggregate (4)
+- * Project (3)
+- * ColumnarToRow (2)
+- Scan parquet (1)
+- == Initial Plan ==
CollectLimit (14)
+- HashAggregate (13)
+- Exchange (12)
+- HashAggregate (11)
+- Project (10)
+- Scan parquet (1)
(1) Scan parquet
Output [1]: [passenger_count#6043L]
Batched: true
Location: InMemoryFileIndex [file:/home/jovyan/data/yellow-taxi/yellow_tripdata_2024-06.parquet]
ReadSchema: struct<passenger_count:bigint>
(2) ColumnarToRow [codegen id : 1]
Input [1]: [passenger_count#6043L]
(3) Project [codegen id : 1]
Output [1]: [cast(passenger_count#6043L as string) AS passenger_count#6108]
Input [1]: [passenger_count#6043L]
(4) HashAggregate [codegen id : 1]
Input [1]: [passenger_count#6108]
Keys [1]: [passenger_count#6108]
Functions: []
Aggregate Attributes: []
Results [1]: [passenger_count#6108]
(5) Exchange
Input [1]: [passenger_count#6108]
Arguments: hashpartitioning(passenger_count#6108, 200), ENSURE_REQUIREMENTS, [plan_id=1735]
(6) ShuffleQueryStage
Output [1]: [passenger_count#6108]
Arguments: 0
(7) AQEShuffleRead
Input [1]: [passenger_count#6108]
Arguments: coalesced
(8) HashAggregate [codegen id : 2]
Input [1]: [passenger_count#6108]
Keys [1]: [passenger_count#6108]
Functions: []
Aggregate Attributes: []
Results [1]: [passenger_count#6108]
(9) ResultQueryStage
Output [1]: [passenger_count#6108]
Arguments: 1
(10) Project
Output [1]: [cast(passenger_count#6043L as string) AS passenger_count#6108]
Input [1]: [passenger_count#6043L]
(11) HashAggregate
Input [1]: [passenger_count#6108]
Keys [1]: [passenger_count#6108]
Functions: []
Aggregate Attributes: []
Results [1]: [passenger_count#6108]
(12) Exchange
Input [1]: [passenger_count#6108]
Arguments: hashpartitioning(passenger_count#6108, 200), ENSURE_REQUIREMENTS, [plan_id=1716]
(13) HashAggregate
Input [1]: [passenger_count#6108]
Keys [1]: [passenger_count#6108]
Functions: []
Aggregate Attributes: []
Results [1]: [passenger_count#6108]
(14) CollectLimit
Input [1]: [passenger_count#6108]
Arguments: 1000
(15) AdaptiveSparkPlan
Output [1]: [passenger_count#6108]
Arguments: isFinalPlan=true