digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
1 [labelType="html" label="<b>CollectLimit</b><br><br>shuffle records written: 0<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<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: 0<br>local bytes read: 0.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: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>local merged bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B"];
subgraph cluster2 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 92 ms";
3 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 28 ms<br>peak memory: 16.2 MiB<br>number of output rows: 262<br>number of sort fallback tasks: 0<br>avg hash probes per key: 1"];
}
4 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 1<br>partition data size: 55.1 KiB<br>number of coalesced partitions: 1"];
5 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 1,300<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>127 ms (22 ms, 25 ms, 29 ms (stage 30.0: task 269))<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: 1,300<br>local bytes read: 53.4 KiB<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 5<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>30.5 KiB (6.1 KiB, 6.1 KiB, 6.1 KiB (stage 30.0: task 270))<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>53.4 KiB (10.6 KiB, 10.7 KiB, 10.7 KiB (stage 30.0: task 270))"];
subgraph cluster6 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n1.3 s (142 ms, 183 ms, 581 ms (stage 30.0: task 269))";
7 [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>1.1 s (128 ms, 167 ms, 471 ms (stage 30.0: task 269))<br>peak memory total (min, med, max (stageId: taskId))<br>1280.0 KiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 30.0: task 269))<br>number of output rows: 1,300<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
8 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 20,405,666<br>number of input batches: 4,985"];
}
9 [labelType="html" label="<b>Scan parquet spark_catalog.test.fhvhv_trip</b><br><br>number of files read: 4<br>scan time total (min, med, max (stageId: taskId))<br>233 ms (8 ms, 21 ms, 167 ms (stage 30.0: task 269))<br>metadata time: 3 ms<br>size of files read: 593.0 MiB<br>number of output rows: 20,405,666"];
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->8;
}
10
AdaptiveSparkPlan isFinalPlan=true
CollectLimit 1000
HashAggregate(keys=[PULocationID#2391], functions=[count(1)])
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(PULocationID#2391, 200), ENSURE_REQUIREMENTS, [plan_id=581]
HashAggregate(keys=[PULocationID#2391], functions=[partial_count(1)])
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.test.fhvhv_trip[PULocationID#2391] Batched: true, DataFilters: [], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[file:/home/jovyan/spark-warehouse/test.db/fhvhv_trip], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<PULocationID:int>