digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
1 [labelType="html" label="<br><b>TakeOrderedAndProject</b><br><br>"];
subgraph cluster2 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 32 ms";
3 [labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build: 11 ms<br>peak memory: 4.2 MiB<br>number of output rows: 22,571<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: 427.7 KiB<br>number of coalesced partitions: 1"];
5 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 23,179<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>83 ms (0 ms, 24 ms, 58 ms (stage 33.0: task 32))<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: 23,179<br>local bytes read: 409.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: 2<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>645.7 KiB (0.0 B, 103.8 KiB, 541.9 KiB (stage 33.0: task 32))<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>409.4 KiB (0.0 B, 77.2 KiB, 332.2 KiB (stage 33.0: task 32))"];
subgraph cluster6 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n139 ms (0 ms, 48 ms, 91 ms (stage 33.0: task 32))";
7 [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 33.0: task 33))<br>time in aggregation build total (min, med, max (stageId: taskId))<br>38 ms (0 ms, 8 ms, 30 ms (stage 33.0: task 32))<br>peak memory total (min, med, max (stageId: taskId))<br>8.5 MiB (0.0 B, 4.2 MiB, 4.2 MiB (stage 33.0: task 33))<br>number of output rows: 23,179<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 33.0: task 33))"];
8 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 46,236<br>number of input batches: 13"];
}
9 [labelType="html" label="<b>Scan parquet spark_catalog.default.airports</b><br><br>number of files read: 2<br>scan time total (min, med, max (stageId: taskId))<br>22 ms (0 ms, 6 ms, 16 ms (stage 33.0: task 32))<br>metadata time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 33.0: task 33))<br>size of files read total (min, med, max (stageId: taskId))<br>2.1 MiB (0.0 B, 0.0 B, 2.1 MiB (driver))<br>number of output rows: 46,236"];
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->8;
}
10
AdaptiveSparkPlan isFinalPlan=true
TakeOrderedAndProject(limit=3502, orderBy=[city#937 ASC NULLS FIRST], output=[city#937])
HashAggregate(keys=[city#937], functions=[])
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(city#937, 200), ENSURE_REQUIREMENTS, [plan_id=832]
HashAggregate(keys=[city#937], functions=[])
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[city#937] Batched: true, DataFilters: [], Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/home/acdcadmin/spark-warehouse/airports], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<city:string>