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: 6<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 41))<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: 6<br>local bytes read: 354.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: 6<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>96.0 B (0.0 B, 16.0 B, 16.0 B (stage 11.0: task 40))<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>354.0 B (0.0 B, 59.0 B, 59.0 B (stage 11.0: task 40))"];
subgraph cluster4 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n107 ms (14 ms, 19 ms, 20 ms (stage 11.0: task 44))";
5 [labelType="html" label="<b>HashAggregate</b><br><br>time in aggregation build total (min, med, max (stageId: taskId))<br>106 ms (14 ms, 19 ms, 19 ms (stage 11.0: task 40))<br>number of output rows: 6"];
}
6 [labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 4,982,002"];
7 [labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>"];
subgraph cluster8 {
isCluster="true";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n1.6 m (0 ms, 10.6 s, 19.0 s (stage 9.0: task 34))";
9 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,982,002"];
}
10 [labelType="html" label="<b>Window</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 9.0: task 35))"];
subgraph cluster11 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n1.1 m (0 ms, 6.7 s, 12.8 s (stage 9.0: task 34))";
12 [labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>9.6 s (0 ms, 974 ms, 2.2 s (stage 9.0: task 34))<br>peak memory total (min, med, max (stageId: taskId))<br>1648.0 MiB (0.0 B, 208.0 MiB, 288.0 MiB (stage 9.0: task 34))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 9.0: task 34))"];
}
13 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 6<br>partition data size total (min, med, max (stageId: taskId))<br>360.8 MiB (46.8 MiB, 63.5 MiB, 63.8 MiB (driver))<br>number of coalesced partitions: 6"];
14 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 5,121,533<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>1.8 s (0 ms, 0 ms, 258 ms (stage 7.0: task 28))<br>remote merged bytes read total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 9.0: task 35))<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>remote merged reqs duration total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 9.0: task 35))<br>remote merged blocks fetched: 0<br>records read: 5,121,533<br>local bytes read total (min, med, max (stageId: taskId))<br>343.8 MiB (0.0 B, 44.6 MiB, 60.8 MiB (stage 9.0: task 34))<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 9.0: task 34))<br>remote bytes read total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 9.0: task 35))<br>merged fetch fallback count: 0<br>local blocks read: 48<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>1316.6 MiB (0.0 B, 0.0 B, 177.4 MiB (stage 7.0: task 30))<br>local merged bytes read total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 9.0: task 35))<br>number of partitions: 200<br>remote reqs duration total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 9.0: task 35))<br>remote bytes read to disk total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 9.0: task 35))<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>343.8 MiB (0.0 B, 0.0 B, 47.5 MiB (stage 7.0: task 26))"];
subgraph cluster15 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n14.9 s (0 ms, 0 ms, 2.2 s (stage 7.0: task 26))";
16 [labelType="html" label="<br><b>Project</b><br><br>"];
17 [labelType="html" label="<br><b>Project</b><br><br>"];
}
18 [labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 5,121,533"];
19 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 0"];
2->0;
3->2;
5->3;
6->5;
7->6;
9->7;
10->9;
12->10;
13->12;
14->13;
16->14;
17->16;
18->17;
19->18;
}
20
AdaptiveSparkPlan isFinalPlan=true
HashAggregate(keys=[], functions=[count(1)])
WholeStageCodegen (2)
Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=254]
HashAggregate(keys=[], functions=[partial_count(1)])
WholeStageCodegen (1)
InMemoryTableScan
AdaptiveSparkPlan isFinalPlan=true
Filter (isnotnull(is_ride_id_valid#474) AND ((is_ride_id_valid#474 AND is_duration_valid#475) AND is_station_valid#476))
WholeStageCodegen (3)
Window [row_number() windowspecdefinition(start_station_id#31, started_at#28 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#536], [start_station_id#31], [started_at#28 ASC NULLS FIRST]
Sort [start_station_id#31 ASC NULLS FIRST, started_at#28 ASC NULLS FIRST], false, 0
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(start_station_id#31, 200), ENSURE_REQUIREMENTS, [plan_id=207]
Project [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, 2026-08-18 07:26:21.132535 AS _processed_dttm#494, year(cast(started_at#28 as date)) AS year#513, month(cast(started_at#28 as date)) AS month#514]
Project [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, (isnotnull(ride_id#26) AND NOT (trim(ride_id#26, None) = )) AS is_ride_id_valid#474, coalesce((ended_at#29 > started_at#28), false) AS is_duration_valid#475, coalesce(NOT (end_station_id#33 = start_station_id#31), false) AS is_station_valid#476, input_file_name() AS _source_file#493]
WholeStageCodegen (1)
InMemoryTableScan [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
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 (21)
+- == Final Plan ==
* HashAggregate (17)
+- ShuffleQueryStage (16), Statistics(sizeInBytes=96.0 B, rowCount=6)
+- Exchange (15)
+- * HashAggregate (14)
+- TableCacheQueryStage (13), Statistics(sizeInBytes=835.8 MiB, rowCount=4.98E+6)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (12)
+- Filter (11)
+- Window (10)
+- Sort (9)
+- Exchange (8)
+- Project (7)
+- Project (6)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- Scan csv (5)
+- == Initial Plan ==
HashAggregate (20)
+- Exchange (19)
+- HashAggregate (18)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- AdaptiveSparkPlan (12)
+- Filter (11)
+- Window (10)
+- Sort (9)
+- Exchange (8)
+- Project (7)
+- Project (6)
+- InMemoryTableScan (3)
+- InMemoryRelation (4)
+- Scan csv (5)
(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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514, _start_station_ride_num#536], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@3908c132,StorageLevel(disk, memory, deserialized, 1 replicas),AdaptiveSparkPlan isFinalPlan=true
+- == Final Plan ==
*(3) Filter (isnotnull(is_ride_id_valid#474) AND ((is_ride_id_valid#474 AND is_duration_valid#475) AND is_station_valid#476))
+- Window [row_number() windowspecdefinition(start_station_id#31, started_at#28 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#536], [start_station_id#31], [started_at#28 ASC NULLS FIRST]
+- *(2) Sort [start_station_id#31 ASC NULLS FIRST, started_at#28 ASC NULLS FIRST], false, 0
+- AQEShuffleRead coalesced
+- ShuffleQueryStage 1
+- Exchange hashpartitioning(start_station_id#31, 200), ENSURE_REQUIREMENTS, [plan_id=207]
+- *(1) Project [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, 2026-08-18 07:26:21.132535 AS _processed_dttm#494, year(cast(started_at#28 as date)) AS year#513, month(cast(started_at#28 as date)) AS month#514]
+- *(1) Project [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, (isnotnull(ride_id#26) AND NOT (trim(ride_id#26, None) = )) AS is_ride_id_valid#474, coalesce((ended_at#29 > started_at#28), false) AS is_duration_valid#475, coalesce(NOT (end_station_id#33 = start_station_id#31), false) AS is_station_valid#476, input_file_name() AS _source_file#493]
+- TableCacheQueryStage 0
+- InMemoryTableScan [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
+- InMemoryRelation [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], 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_...
+- == Initial Plan ==
Filter (isnotnull(is_ride_id_valid#474) AND ((is_ride_id_valid#474 AND is_duration_valid#475) AND is_station_valid#476))
+- Window [row_number() windowspecdefinition(start_station_id#31, started_at#28 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#536], [start_station_id#31], [started_at#28 ASC NULLS FIRST]
+- Sort [start_station_id#31 ASC NULLS FIRST, started_at#28 ASC NULLS FIRST], false, 0
+- Exchange hashpartitioning(start_station_id#31, 200), ENSURE_REQUIREMENTS, [plan_id=68]
+- Project [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, 2026-08-18 07:26:21.132535 AS _processed_dttm#494, year(cast(started_at#28 as date)) AS year#513, month(cast(started_at#28 as date)) AS month#514]
+- Project [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, (isnotnull(ride_id#26) AND NOT (trim(ride_id#26, None) = )) AS is_ride_id_valid#474, coalesce((ended_at#29 > started_at#28), false) AS is_duration_valid#475, coalesce(NOT (end_station_id#33 = start_station_id#31), false) AS is_station_valid#476, input_file_name() AS _source_file#493]
+- InMemoryTableScan [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
+- InMemoryRelation [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], 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) InMemoryTableScan
Output [13]: [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
Arguments: [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
(4) 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)
(5) 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>
(6) Project
Output [17]: [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, (isnotnull(ride_id#26) AND NOT (trim(ride_id#26, None) = )) AS is_ride_id_valid#474, coalesce((ended_at#29 > started_at#28), false) AS is_duration_valid#475, coalesce(NOT (end_station_id#33 = start_station_id#31), false) AS is_station_valid#476, input_file_name() AS _source_file#493]
Input [13]: [end_lat#36, end_lng#37, end_station_id#33, end_station_name#32, ended_at#29, member_casual#38, ride_id#26, rideable_type#27, start_lat#34, start_lng#35, start_station_id#31, start_station_name#30, started_at#28]
(7) Project
Output [20]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, 2026-08-18 07:26:21.132535 AS _processed_dttm#494, year(cast(started_at#28 as date)) AS year#513, month(cast(started_at#28 as date)) AS month#514]
Input [17]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493]
(8) Exchange
Input [20]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514]
Arguments: hashpartitioning(start_station_id#31, 200), ENSURE_REQUIREMENTS, [plan_id=157]
(9) Sort
Input [20]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514]
Arguments: [start_station_id#31 ASC NULLS FIRST, started_at#28 ASC NULLS FIRST], false, 0
(10) Window
Input [20]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514]
Arguments: [row_number() windowspecdefinition(start_station_id#31, started_at#28 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#536], [start_station_id#31], [started_at#28 ASC NULLS FIRST]
(11) Filter
Input [21]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514, _start_station_ride_num#536]
Condition : (isnotnull(is_ride_id_valid#474) AND ((is_ride_id_valid#474 AND is_duration_valid#475) AND is_station_valid#476))
(12) AdaptiveSparkPlan
Output [21]: [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, is_ride_id_valid#474, is_duration_valid#475, is_station_valid#476, _source_file#493, _processed_dttm#494, year#513, month#514, _start_station_ride_num#536]
Arguments: isFinalPlan=false
(13) TableCacheQueryStage
Output: []
Arguments: 0
(14) HashAggregate [codegen id : 1]
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#1848L]
Results [1]: [count#1849L]
(15) Exchange
Input [1]: [count#1849L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=254]
(16) ShuffleQueryStage
Output [1]: [count#1849L]
Arguments: 1
(17) HashAggregate [codegen id : 2]
Input [1]: [count#1849L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#1530L]
Results [1]: [count(1)#1530L AS count#1531L]
(18) HashAggregate
Input: []
Keys: []
Functions [1]: [partial_count(1)]
Aggregate Attributes [1]: [count#1848L]
Results [1]: [count#1849L]
(19) Exchange
Input [1]: [count#1849L]
Arguments: SinglePartition, ENSURE_REQUIREMENTS, [plan_id=154]
(20) HashAggregate
Input [1]: [count#1849L]
Keys: []
Functions [1]: [count(1)]
Aggregate Attributes [1]: [count(1)#1530L]
Results [1]: [count(1)#1530L AS count#1531L]
(21) AdaptiveSparkPlan
Output [1]: [count#1531L]
Arguments: isFinalPlan=true