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 (3)\n \nduration: total (min, med, max (stageId: taskId))\n151 ms (75 ms, 76 ms, 76 ms (stage 89.0: task 74))";
3 [labelType="html" label="<br><b>Project</b><br><br>"];
}
4 [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 89.0: task 73))"];
subgraph cluster5 {
isCluster="true";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n319 ms (159 ms, 160 ms, 160 ms (stage 89.0: task 74))";
6 [labelType="html" label="<b>Sort</b><br><br>sort time total (min, med, max (stageId: taskId))<br>36 ms (18 ms, 18 ms, 18 ms (stage 89.0: task 73))<br>peak memory total (min, med, max (stageId: taskId))<br>65.0 MiB (32.5 MiB, 32.5 MiB, 32.5 MiB (stage 89.0: task 73))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 89.0: task 73))"];
}
7 [labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 2<br>partition data size total (min, med, max (stageId: taskId))<br>2.4 MiB (1223.8 KiB, 1234.2 KiB, 1234.2 KiB (driver))<br>number of coalesced partitions: 2"];
8 [labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 31,257<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>110 ms (0 ms, 37 ms, 72 ms (stage 87.0: task 72))<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 89.0: task 73))<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 89.0: task 73))<br>remote merged blocks fetched: 0<br>records read: 31,257<br>local bytes read total (min, med, max (stageId: taskId))<br>2.3 MiB (1165.2 KiB, 1174.1 KiB, 1174.1 KiB (stage 89.0: task 74))<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 89.0: task 73))<br>remote bytes read total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 89.0: task 73))<br>merged fetch fallback count: 0<br>local blocks read: 4<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size total (min, med, max (stageId: taskId))<br>10.9 MiB (0.0 B, 1726.4 KiB, 9.2 MiB (stage 87.0: task 71))<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 89.0: task 73))<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 89.0: task 73))<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 89.0: task 73))<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>2.3 MiB (0.0 B, 413.5 KiB, 1925.7 KiB (stage 87.0: task 71))"];
subgraph cluster9 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n475 ms (0 ms, 115 ms, 360 ms (stage 87.0: task 71))";
10 [labelType="html" label="<br><b>Project</b><br><br>"];
}
11 [labelType="html" label="<b>Scan csv </b><br><br>number of output rows: 31,257<br>number of files read: 1<br>metadata time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 89.0: task 73))<br>size of files read total (min, med, max (stageId: taskId))<br>5.8 MiB (0.0 B, 0.0 B, 5.8 MiB (driver))"];
1->0;
3->1;
4->3;
6->4;
7->6;
8->7;
10->8;
11->10;
}
12
AdaptiveSparkPlan isFinalPlan=true
TakeOrderedAndProject(limit=6, orderBy=[ride_id#9482 ASC NULLS FIRST], output=[toprettystring(ride_id)#9705,toprettystring(rideable_type)#9706,toprettystring(started_at)#9707,toprettystring(ended_at)#9708,toprettystring(start_station_name)#9709,toprettystring(start_station_id)#9710,toprettystring(end_station_name)#9711,toprettystring(end_station_id)#9712,toprettystring(start_lat)#9713,toprettystring(start_lng)#9714,toprettystring(end_lat)#9715,toprettystring(end_lng)#9716,toprettystring(member_casual)#9717,toprettystring(valid_ride_id)#9718,toprettystring(valid_time)#9719,toprettystring(valid_station)#9720,toprettystring(_source_file)#9721,toprettystring(_processed_dttm)#9722,toprettystring(_start_station_ride_num)#9723,toprettystring(year)#9724,toprettystring(month)#9725])
Project [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, _start_station_ride_num#9581, year#9582, month#9583]
WholeStageCodegen (3)
Window [row_number() windowspecdefinition(start_station_id#9487, started_at#9484 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#9581], [start_station_id#9487], [started_at#9484 ASC NULLS FIRST]
Sort [start_station_id#9487 ASC NULLS FIRST, started_at#9484 ASC NULLS FIRST], false, 0
WholeStageCodegen (2)
AQEShuffleRead coalesced
Exchange hashpartitioning(start_station_id#9487, 200), ENSURE_REQUIREMENTS, [plan_id=1040]
Project [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, cast(start_station_id#9487 as double) AS start_station_id#9589, end_station_name#9488, cast(end_station_id#9489 as double) AS end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, isnotnull(ride_id#9482) AS valid_ride_id#9575, (ended_at#9485 > started_at#9484) AS valid_time#9576, (((isnotnull(end_station_id#9489) AND isnotnull(start_station_id#9487)) AND NOT (end_station_id#9489 = start_station_id#9487)) <=> true) AS valid_station#9577, input_file_name() AS _source_file#9578, year(cast(started_at#9484 as date)) AS year#9582, month(cast(started_at#9484 as date)) AS month#9583, start_station_id#9487, started_at#9484]
WholeStageCodegen (1)
FileScan csv [ride_id#9482,rideable_type#9483,started_at#9484,ended_at#9485,start_station_name#9486,start_station_id#9487,end_station_name#9488,end_station_id#9489,start_lat#9490,start_lng#9491,end_lat#9492,end_lng#9493,member_casual#9494] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[s3a://rzvde-g8-kirsanov-dmitry/raw/citibike_data/202502/202502-citibik..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<ride_id:string,rideable_type:string,started_at:timestamp,ended_at:timestamp,start_station_...
== Physical Plan ==
AdaptiveSparkPlan (16)
+- == Final Plan ==
TakeOrderedAndProject (9)
+- * Project (8)
+- Window (7)
+- * Sort (6)
+- AQEShuffleRead (5)
+- ShuffleQueryStage (4), Statistics(sizeInBytes=10.9 MiB, rowCount=3.13E+4)
+- Exchange (3)
+- * Project (2)
+- Scan csv (1)
+- == Initial Plan ==
TakeOrderedAndProject (15)
+- Project (14)
+- Window (13)
+- Sort (12)
+- Exchange (11)
+- Project (10)
+- Scan csv (1)
(1) Scan csv
Output [13]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9487, end_station_name#9488, end_station_id#9489, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494]
Batched: false
Location: InMemoryFileIndex [s3a://rzvde-g8-kirsanov-dmitry/raw/citibike_data/202502/202502-citibike-tripdata-part00.csv]
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:double,start_lng:double,end_lat:double,end_lng:double,member_casual:string>
(2) Project [codegen id : 1]
Output [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, cast(start_station_id#9487 as double) AS start_station_id#9589, end_station_name#9488, cast(end_station_id#9489 as double) AS end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, isnotnull(ride_id#9482) AS valid_ride_id#9575, (ended_at#9485 > started_at#9484) AS valid_time#9576, (((isnotnull(end_station_id#9489) AND isnotnull(start_station_id#9487)) AND NOT (end_station_id#9489 = start_station_id#9487)) <=> true) AS valid_station#9577, input_file_name() AS _source_file#9578, year(cast(started_at#9484 as date)) AS year#9582, month(cast(started_at#9484 as date)) AS month#9583, start_station_id#9487, started_at#9484]
Input [13]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9487, end_station_name#9488, end_station_id#9489, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494]
(3) Exchange
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: hashpartitioning(start_station_id#9487, 200), ENSURE_REQUIREMENTS, [plan_id=1040]
(4) ShuffleQueryStage
Output [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: 0
(5) AQEShuffleRead
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: coalesced
(6) Sort [codegen id : 2]
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: [start_station_id#9487 ASC NULLS FIRST, started_at#9484 ASC NULLS FIRST], false, 0
(7) Window
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: [row_number() windowspecdefinition(start_station_id#9487, started_at#9484 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#9581], [start_station_id#9487], [started_at#9484 ASC NULLS FIRST]
(8) Project [codegen id : 3]
Output [20]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, _start_station_ride_num#9581, year#9582, month#9583]
Input [22]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484, _start_station_ride_num#9581]
(9) TakeOrderedAndProject
Input [20]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, _start_station_ride_num#9581, year#9582, month#9583]
Arguments: 6, [ride_id#9482 ASC NULLS FIRST], [toprettystring(ride_id#9482, Some(Etc/UTC)) AS toprettystring(ride_id)#9705, toprettystring(rideable_type#9483, Some(Etc/UTC)) AS toprettystring(rideable_type)#9706, toprettystring(started_at#9484, Some(Etc/UTC)) AS toprettystring(started_at)#9707, toprettystring(ended_at#9485, Some(Etc/UTC)) AS toprettystring(ended_at)#9708, toprettystring(start_station_name#9486, Some(Etc/UTC)) AS toprettystring(start_station_name)#9709, toprettystring(start_station_id#9589, Some(Etc/UTC)) AS toprettystring(start_station_id)#9710, toprettystring(end_station_name#9488, Some(Etc/UTC)) AS toprettystring(end_station_name)#9711, toprettystring(end_station_id#9591, Some(Etc/UTC)) AS toprettystring(end_station_id)#9712, toprettystring(start_lat#9490, Some(Etc/UTC)) AS toprettystring(start_lat)#9713, toprettystring(start_lng#9491, Some(Etc/UTC)) AS toprettystring(start_lng)#9714, toprettystring(end_lat#9492, Some(Etc/UTC)) AS toprettystring(end_lat)#9715, toprettystring(end_lng#9493, Some(Etc/UTC)) AS toprettystring(end_lng)#9716, toprettystring(member_casual#9494, Some(Etc/UTC)) AS toprettystring(member_casual)#9717, toprettystring(valid_ride_id#9575, Some(Etc/UTC)) AS toprettystring(valid_ride_id)#9718, toprettystring(valid_time#9576, Some(Etc/UTC)) AS toprettystring(valid_time)#9719, toprettystring(valid_station#9577, Some(Etc/UTC)) AS toprettystring(valid_station)#9720, toprettystring(_source_file#9578, Some(Etc/UTC)) AS toprettystring(_source_file)#9721, 2026-04-08 09:00:06.33169 AS toprettystring(_processed_dttm)#9722, toprettystring(_start_station_ride_num#9581, Some(Etc/UTC)) AS toprettystring(_start_station_ride_num)#9723, toprettystring(year#9582, Some(Etc/UTC)) AS toprettystring(year)#9724, toprettystring(month#9583, Some(Etc/UTC)) AS toprettystring(month)#9725]
(10) Project
Output [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, cast(start_station_id#9487 as double) AS start_station_id#9589, end_station_name#9488, cast(end_station_id#9489 as double) AS end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, isnotnull(ride_id#9482) AS valid_ride_id#9575, (ended_at#9485 > started_at#9484) AS valid_time#9576, (((isnotnull(end_station_id#9489) AND isnotnull(start_station_id#9487)) AND NOT (end_station_id#9489 = start_station_id#9487)) <=> true) AS valid_station#9577, input_file_name() AS _source_file#9578, year(cast(started_at#9484 as date)) AS year#9582, month(cast(started_at#9484 as date)) AS month#9583, start_station_id#9487, started_at#9484]
Input [13]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9487, end_station_name#9488, end_station_id#9489, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494]
(11) Exchange
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: hashpartitioning(start_station_id#9487, 200), ENSURE_REQUIREMENTS, [plan_id=1027]
(12) Sort
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: [start_station_id#9487 ASC NULLS FIRST, started_at#9484 ASC NULLS FIRST], false, 0
(13) Window
Input [21]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484]
Arguments: [row_number() windowspecdefinition(start_station_id#9487, started_at#9484 ASC NULLS FIRST, specifiedwindowframe(RowFrame, unboundedpreceding$(), currentrow$())) AS _start_station_ride_num#9581], [start_station_id#9487], [started_at#9484 ASC NULLS FIRST]
(14) Project
Output [20]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, _start_station_ride_num#9581, year#9582, month#9583]
Input [22]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, year#9582, month#9583, start_station_id#9487, started_at#9484, _start_station_ride_num#9581]
(15) TakeOrderedAndProject
Input [20]: [ride_id#9482, rideable_type#9483, started_at#9484, ended_at#9485, start_station_name#9486, start_station_id#9589, end_station_name#9488, end_station_id#9591, start_lat#9490, start_lng#9491, end_lat#9492, end_lng#9493, member_casual#9494, valid_ride_id#9575, valid_time#9576, valid_station#9577, _source_file#9578, _start_station_ride_num#9581, year#9582, month#9583]
Arguments: 6, [ride_id#9482 ASC NULLS FIRST], [toprettystring(ride_id#9482, Some(Etc/UTC)) AS toprettystring(ride_id)#9705, toprettystring(rideable_type#9483, Some(Etc/UTC)) AS toprettystring(rideable_type)#9706, toprettystring(started_at#9484, Some(Etc/UTC)) AS toprettystring(started_at)#9707, toprettystring(ended_at#9485, Some(Etc/UTC)) AS toprettystring(ended_at)#9708, toprettystring(start_station_name#9486, Some(Etc/UTC)) AS toprettystring(start_station_name)#9709, toprettystring(start_station_id#9589, Some(Etc/UTC)) AS toprettystring(start_station_id)#9710, toprettystring(end_station_name#9488, Some(Etc/UTC)) AS toprettystring(end_station_name)#9711, toprettystring(end_station_id#9591, Some(Etc/UTC)) AS toprettystring(end_station_id)#9712, toprettystring(start_lat#9490, Some(Etc/UTC)) AS toprettystring(start_lat)#9713, toprettystring(start_lng#9491, Some(Etc/UTC)) AS toprettystring(start_lng)#9714, toprettystring(end_lat#9492, Some(Etc/UTC)) AS toprettystring(end_lat)#9715, toprettystring(end_lng#9493, Some(Etc/UTC)) AS toprettystring(end_lng)#9716, toprettystring(member_casual#9494, Some(Etc/UTC)) AS toprettystring(member_casual)#9717, toprettystring(valid_ride_id#9575, Some(Etc/UTC)) AS toprettystring(valid_ride_id)#9718, toprettystring(valid_time#9576, Some(Etc/UTC)) AS toprettystring(valid_time)#9719, toprettystring(valid_station#9577, Some(Etc/UTC)) AS toprettystring(valid_station)#9720, toprettystring(_source_file#9578, Some(Etc/UTC)) AS toprettystring(_source_file)#9721, 2026-04-08 09:00:06.33169 AS toprettystring(_processed_dttm)#9722, toprettystring(_start_station_ride_num#9581, Some(Etc/UTC)) AS toprettystring(_start_station_ride_num)#9723, toprettystring(year#9582, Some(Etc/UTC)) AS toprettystring(year)#9724, toprettystring(month#9583, Some(Etc/UTC)) AS toprettystring(month)#9725]
(16) AdaptiveSparkPlan
Output [21]: [toprettystring(ride_id)#9705, toprettystring(rideable_type)#9706, toprettystring(started_at)#9707, toprettystring(ended_at)#9708, toprettystring(start_station_name)#9709, toprettystring(start_station_id)#9710, toprettystring(end_station_name)#9711, toprettystring(end_station_id)#9712, toprettystring(start_lat)#9713, toprettystring(start_lng)#9714, toprettystring(end_lat)#9715, toprettystring(end_lng)#9716, toprettystring(member_casual)#9717, toprettystring(valid_ride_id)#9718, toprettystring(valid_time)#9719, toprettystring(valid_station)#9720, toprettystring(_source_file)#9721, toprettystring(_processed_dttm)#9722, toprettystring(_start_station_ride_num)#9723, toprettystring(year)#9724, toprettystring(month)#9725]
Arguments: isFinalPlan=true