digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 0 ms<br>number of output rows: 1"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 7<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>3 ms (0 ms, 0 ms, 0 ms (stage 11.0: task 30))<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: 7<br>local bytes read: 413.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: 7<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>112.0 B (0.0 B, 16.0 B, 16.0 B (stage 11.0: task 27))<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>413.0 B (0.0 B, 59.0 B, 59.0 B (stage 11.0: task 27))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n18.7 s (941 ms, 2.8 s, 3.3 s (stage 11.0: task 28))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>18.7 s (940 ms, 2.8 s, 3.3 s (stage 11.0: task 28))<br>number of output rows: 7"];
6 [labelType="html" label="<br><b>Project</b><br><br>"];
7 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,048,163"];
}
8 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 4,220,136<br>number of files read: 5<br>metadata time: 0 ms<br>size of files read: 760.1 MiB"];
2->0;
3->2;
5->3;
6->5;
7->6;
8->7;
}
9
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=197]
HashAggregate(keys=[], functions=[partial_count(1)])
Project
Filter (((((((((isnotnull(started_at#19) AND isnotnull(ended_at#20)) AND isnotnull(ride_id#17)) AND NOT (trim(ride_id#17, None) = )) AND isnotnull(cast(started_at#19 as timestamp))) AND isnotnull(cast(ended_at#20 as timestamp))) AND (cast(ended_at#20 as timestamp) > cast(started_at#19 as timestamp))) AND isnotnull(start_station_id#22)) AND isnotnull(end_station_id#24)) AND NOT (end_station_id#24 = start_station_id#22))
WholeStageCodegen (1)
FileScan csv [ride_id#17,started_at#19,ended_at#20,start_station_id#22,end_station_id#24] Batched: false, DataFilters: [isnotnull(started_at#19), isnotnull(ended_at#20), isnotnull(ride_id#17), NOT (trim(ride_id#17, N..., Format: CSV, Location: InMemoryFileIndex(5 paths)[s3a://rzvde-g12-kryukov-egor/raw/citibike_data/202405/202405-citibike-..., PartitionFilters: [], PushedFilters: [IsNotNull(started_at), IsNotNull(ended_at), IsNotNull(ride_id), IsNotNull(start_station_id), IsN..., ReadSchema: struct<ride_id:string,started_at:string,ended_at:string,start_station_id:string,end_station_id:st...