digraph G {
0 [labelType="html" label="<br><b>TakeOrderedAndProject</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n221 ms (0 ms, 1 ms, 46 ms (stage 59.0: task 882))";
2 [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 ms (0 ms, 0 ms, 2 ms (stage 59.0: task 882))<br>peak memory total (min, med, max (stageId: taskId))<br>82.0 MiB (256.0 KiB, 256.0 KiB, 16.2 MiB (stage 59.0: task 882))<br>number of output rows: 2<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 59.0: task 882))"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 10<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>28 ms (5 ms, 5 ms, 6 ms (stage 58.0: task 877))<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: 10<br>local bytes read total (min, med, max (stageId: taskId))<br>760.0 B (380.0 B, 380.0 B, 380.0 B (stage 59.0: task 882))<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 59.0: task 882))<br>remote bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 10<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>320.0 B (64.0 B, 64.0 B, 64.0 B (stage 58.0: task 877))<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>760.0 B (152.0 B, 152.0 B, 152.0 B (stage 58.0: task 877))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n2.8 s (426 ms, 553 ms, 716 ms (stage 58.0: task 877))";
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>2.7 s (420 ms, 546 ms, 667 ms (stage 58.0: task 877))<br>peak memory total (min, med, max (stageId: taskId))<br>1280.0 KiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 58.0: task 877))<br>number of output rows: 10<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0"];
6 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 20,405,666<br>number of input batches: 4,985"];
}
7 [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>386 ms (56 ms, 77 ms, 104 ms (stage 58.0: task 879))<br>metadata time: 0 ms<br>size of files read: 593.0 MiB<br>number of output rows: 20,405,666"];
2->0;
3->2;
5->3;
6->5;
7->6;
}
8
TakeOrderedAndProject(limit=21, orderBy=[sum(trip_miles)#4971 DESC NULLS FIRST], output=[toprettystring(hvfhs_license_num)#4977,toprettystring(sum(trip_miles))#4978])
HashAggregate(keys=[hvfhs_license_num#4945], functions=[sum(trip_miles#4954)])
WholeStageCodegen (2)
Exchange hashpartitioning(hvfhs_license_num#4945, 200), ENSURE_REQUIREMENTS, [plan_id=1483]
HashAggregate(keys=[hvfhs_license_num#4945], functions=[partial_sum(trip_miles#4954)])
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.test.fhvhv_trip[hvfhs_license_num#4945,trip_miles#4954] Batched: true, DataFilters: [], Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[file:/home/jovyan/spark-warehouse/test.db/fhvhv_trip], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<hvfhs_license_num:string,trip_miles:double>