digraph G {
0 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: 1 ms";
2 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build: 1 ms<br>number of output rows: 1"];
}
3 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 8<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>16 ms (0 ms, 0 ms, 8 ms (stage 4.0: task 24))<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: 8<br>local bytes read: 472.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: 8<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>128.0 B (0.0 B, 16.0 B, 16.0 B (stage 4.0: task 17))<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>472.0 B (0.0 B, 59.0 B, 59.0 B (stage 4.0: task 17))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n105 ms (8 ms, 14 ms, 15 ms (stage 4.0: task 18))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>101 ms (8 ms, 13 ms, 14 ms (stage 4.0: task 18))<br>number of output rows: 8"];
}
6 [labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 5,121,533"];
7 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 0"];
2->0;
3->2;
5->3;
6->5;
7->6;
}
8
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=132]
HashAggregate(keys=[], functions=[partial_count(1)])
WholeStageCodegen (1)
InMemoryTableScan
FileScan csv [ride_id#0,rideable_type#1,started_at#2,ended_at#3,start_station_name#4,start_station_id#5,end_station_name#6,end_station_id#7,start_lat#8,start_lng#9,end_lat#10,end_lng#11,member_casual#12] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(6 paths)[s3a://rzvde-g10-chepusov-vladislav/raw/citibike_data/202508/202508-cit..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<ride_id:string,rideable_type:string,started_at:timestamp,ended_at:timestamp,start_station_...
== Physical Plan ==
AdaptiveSparkPlan (12)
+- == Final Plan ==
* HashAggregate (8)
+- ShuffleQueryStage (7), Statistics(sizeInBytes=128.0 B, rowCount=8)
+- Exchange (6)
+- * HashAggregate (5)
+- TableCacheQueryStage (4), Statistics(sizeInBytes=727.2 MiB, rowCount=5.12E+6)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Scan csv (3)
+- == Initial Plan ==
HashAggregate (11)
+- Exchange (10)
+- HashAggregate (9)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- Scan csv (3)
(1) InMemoryTableScan
Output: []
(2) InMemoryRelation
Arguments: [ride_id#26, rideable_type#27, started_at#28, ended_at#29, start_station_name#30, start_station_id#31, end_station_name#32, end_station_id#33, start_lat#34, start_lng#35, end_lat#36, end_lng#37, member_casual#38], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@3908c132,StorageLevel(disk, memory, deserialized, 1 replicas),FileScan csv [ride_id#0,rideable_type#1,started_at#2,ended_at#3,start_station_name#4,start_station_id#5,end_station_name#6,end_station_id#7,start_lat#8,start_lng#9,end_lat#10,end_lng#11,member_casual#12] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(6 paths)[s3a://rzvde-g10-chepusov-vladislav/raw/citibike_data/202508/202508-cit..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<ride_id:string,rideable_type:string,started_at:timestamp,ended_at:timestamp,start_station_...
,None)
(3) Scan csv
Output [13]: [ride_id#0, rideable_type#1, started_at#2, ended_at#3, start_station_name#4, start_station_id#5, end_station_name#6, end_station_id#7, start_lat#8, start_lng#9, end_lat#10, end_lng#11, member_casual#12]
Batched: false
Location: InMemoryFileIndex [s3a://rzvde-g10-chepusov-vladislav/raw/citibike_data/202508/202508-citibike-tripdata_1.csv, ... 5 entries]
ReadSchema: struct<ride_id:string,rideable_type:string,started_at:timestamp,ended_at:timestamp,start_station_name:string,start_station_id:string,end_station_name:string,end_station_id:string,start_lat:float,start_lng:float,end_lat:float,end_lng:float,member_casual:string>
(4) TableCacheQueryStage
Output: []
Arguments: 0
(5) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#1377L]
Results [1]: [count#1378L]
(6) Exchange
Input [1]: [count#1378L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=132]
(7) ShuffleQueryStage
Output [1]: [count#1378L]
Arguments: 1
(8) HashAggregate [codegen id : 2]
Input [1]: [count#1378L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#1179L]
Results [1]: [count(1)#1179L AS count#1180L]
(9) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#1377L]
Results [1]: [count#1378L]
(10) Exchange
Input [1]: [count#1378L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=107]
(11) HashAggregate
Input [1]: [count#1378L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#1179L]
Results [1]: [count(1)#1179L AS count#1180L]
(12) AdaptiveSparkPlan
Output [1]: [count#1180L]
Arguments: isFinalPlan=true