== Parsed Logical Plan == GlobalLimit 11 +- LocalLimit 11 +- Project [cast(tpep_pickup_datetime#16 as string) AS tpep_pickup_datetime#471, cast(tpep_dropoff_datetime#17 as string) AS tpep_dropoff_datetime#472, cast(passenger_count#18 as string) AS passenger_count#473, cast(trip_distance#19 as string) AS trip_distance#474, cast(payment_type#22 as string) AS payment_type#475, cast(fare_amount#23 as string) AS fare_amount#476, cast(extra#24 as string) AS extra#477, cast(mta_tax#25 as string) AS mta_tax#478, cast(tip_amount#26 as string) AS tip_amount#479, cast(tolls_amount#27 as string) AS tolls_amount#480, cast(total_amount#28 as string) AS total_amount#481, cast(congestion_surcharge#29 as string) AS congestion_surcharge#482, cast(airport_fee#30 as string) AS airport_fee#483, cast(taxi_type#31 as string) AS taxi_type#484, cast(Pickup_Borough#132 as string) AS Pickup_Borough#485, cast(Pickup_Zone#153 as string) AS Pickup_Zone#486, cast(Pickup_service_zone#174 as string) AS Pickup_service_zone#487, cast(Dropoff_Borough#298 as string) AS Dropoff_Borough#488, cast(Dropoff_Zone#321 as string) AS Dropoff_Zone#489, cast(Dropoff_service_zone#344 as string) AS Dropoff_service_zone#490, cast(route#428 as string) AS route#491] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344, ((cast(Pickup_Borough#132 as double) + cast( to as double)) + cast(Dropoff_Borough#298 as double)) AS route#428] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Dropoff_Borough#298, Dropoff_Zone#321, service_zone#67 AS Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Dropoff_Borough#298, Zone#66 AS Dropoff_Zone#321, service_zone#67] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Borough#65 AS Dropoff_Borough#298, Zone#66, service_zone#67] +- Join Inner, (DOLocationID#21 = LocationID#64) :- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Pickup_Borough#132, Pickup_Zone#153, service_zone#67 AS Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Pickup_Borough#132, Zone#66 AS Pickup_Zone#153, service_zone#67] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Borough#65 AS Pickup_Borough#132, Zone#66, service_zone#67] : +- Join Inner, (PULocationID#20 = LocationID#64) : :- Relation[tpep_pickup_datetime#16,tpep_dropoff_datetime#17,passenger_count#18,trip_distance#19,PULocationID#20,DOLocationID#21,payment_type#22,fare_amount#23,extra#24,mta_tax#25,tip_amount#26,tolls_amount#27,total_amount#28,congestion_surcharge#29,airport_fee#30,taxi_type#31] csv : +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv == Analyzed Logical Plan == tpep_pickup_datetime: string, tpep_dropoff_datetime: string, passenger_count: string, trip_distance: string, payment_type: string, fare_amount: string, extra: string, mta_tax: string, tip_amount: string, tolls_amount: string, total_amount: string, congestion_surcharge: string, airport_fee: string, taxi_type: string, Pickup_Borough: string, Pickup_Zone: string, Pickup_service_zone: string, Dropoff_Borough: string, Dropoff_Zone: string, Dropoff_service_zone: string, route: string GlobalLimit 11 +- LocalLimit 11 +- Project [cast(tpep_pickup_datetime#16 as string) AS tpep_pickup_datetime#471, cast(tpep_dropoff_datetime#17 as string) AS tpep_dropoff_datetime#472, cast(passenger_count#18 as string) AS passenger_count#473, cast(trip_distance#19 as string) AS trip_distance#474, cast(payment_type#22 as string) AS payment_type#475, cast(fare_amount#23 as string) AS fare_amount#476, cast(extra#24 as string) AS extra#477, cast(mta_tax#25 as string) AS mta_tax#478, cast(tip_amount#26 as string) AS tip_amount#479, cast(tolls_amount#27 as string) AS tolls_amount#480, cast(total_amount#28 as string) AS total_amount#481, cast(congestion_surcharge#29 as string) AS congestion_surcharge#482, cast(airport_fee#30 as string) AS airport_fee#483, cast(taxi_type#31 as string) AS taxi_type#484, cast(Pickup_Borough#132 as string) AS Pickup_Borough#485, cast(Pickup_Zone#153 as string) AS Pickup_Zone#486, cast(Pickup_service_zone#174 as string) AS Pickup_service_zone#487, cast(Dropoff_Borough#298 as string) AS Dropoff_Borough#488, cast(Dropoff_Zone#321 as string) AS Dropoff_Zone#489, cast(Dropoff_service_zone#344 as string) AS Dropoff_service_zone#490, cast(route#428 as string) AS route#491] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344, ((cast(Pickup_Borough#132 as double) + cast( to as double)) + cast(Dropoff_Borough#298 as double)) AS route#428] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Dropoff_Borough#298, Dropoff_Zone#321, Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Dropoff_Borough#298, Dropoff_Zone#321, service_zone#67 AS Dropoff_service_zone#344] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Dropoff_Borough#298, Zone#66 AS Dropoff_Zone#321, service_zone#67] +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, LocationID#64, Borough#65 AS Dropoff_Borough#298, Zone#66, service_zone#67] +- Join Inner, (DOLocationID#21 = LocationID#64) :- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Pickup_Borough#132, Pickup_Zone#153, service_zone#67 AS Pickup_service_zone#174] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Pickup_Borough#132, Zone#66 AS Pickup_Zone#153, service_zone#67] : +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, LocationID#64, Borough#65 AS Pickup_Borough#132, Zone#66, service_zone#67] : +- Join Inner, (PULocationID#20 = LocationID#64) : :- Relation[tpep_pickup_datetime#16,tpep_dropoff_datetime#17,passenger_count#18,trip_distance#19,PULocationID#20,DOLocationID#21,payment_type#22,fare_amount#23,extra#24,mta_tax#25,tip_amount#26,tolls_amount#27,total_amount#28,congestion_surcharge#29,airport_fee#30,taxi_type#31] csv : +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv == Optimized Logical Plan == GlobalLimit 11 +- LocalLimit 11 +- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Borough#65 AS Dropoff_Borough#488, Zone#66 AS Dropoff_Zone#489, service_zone#67 AS Dropoff_service_zone#490, null AS route#491] +- Join Inner, (DOLocationID#21 = LocationID#64) :- Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Borough#65 AS Pickup_Borough#132, Zone#66 AS Pickup_Zone#153, service_zone#67 AS Pickup_service_zone#174] : +- Join Inner, (PULocationID#20 = LocationID#64) : :- Filter (isnotnull(PULocationID#20) AND isnotnull(DOLocationID#21)) : : +- Relation[tpep_pickup_datetime#16,tpep_dropoff_datetime#17,passenger_count#18,trip_distance#19,PULocationID#20,DOLocationID#21,payment_type#22,fare_amount#23,extra#24,mta_tax#25,tip_amount#26,tolls_amount#27,total_amount#28,congestion_surcharge#29,airport_fee#30,taxi_type#31] csv : +- Filter isnotnull(LocationID#64) : +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv +- Filter isnotnull(LocationID#64) +- Relation[LocationID#64,Borough#65,Zone#66,service_zone#67] csv == Physical Plan == CollectLimit 11 +- *(3) Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Pickup_Borough#132, Pickup_Zone#153, Pickup_service_zone#174, Borough#65 AS Dropoff_Borough#488, Zone#66 AS Dropoff_Zone#489, service_zone#67 AS Dropoff_service_zone#490, null AS route#491] +- *(3) BroadcastHashJoin [DOLocationID#21], [LocationID#64], Inner, BuildRight :- *(3) Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31, Borough#65 AS Pickup_Borough#132, Zone#66 AS Pickup_Zone#153, service_zone#67 AS Pickup_service_zone#174] : +- *(3) BroadcastHashJoin [PULocationID#20], [LocationID#64], Inner, BuildRight : :- *(3) Project [tpep_pickup_datetime#16, tpep_dropoff_datetime#17, passenger_count#18, trip_distance#19, PULocationID#20, DOLocationID#21, payment_type#22, fare_amount#23, extra#24, mta_tax#25, tip_amount#26, tolls_amount#27, total_amount#28, congestion_surcharge#29, airport_fee#30, taxi_type#31] : : +- *(3) Filter (isnotnull(PULocationID#20) AND isnotnull(DOLocationID#21)) : : +- FileScan csv [tpep_pickup_datetime#16,tpep_dropoff_datetime#17,passenger_count#18,trip_distance#19,PULocationID#20,DOLocationID#21,payment_type#22,fare_amount#23,extra#24,mta_tax#25,tip_amount#26,tolls_amount#27,total_amount#28,congestion_surcharge#29,airport_fee#30,taxi_type#31] Batched: false, DataFilters: [isnotnull(PULocationID#20), isnotnull(DOLocationID#21)], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/nyc_taxi/yellow_tripdata/2023], PartitionFilters: [], PushedFilters: [IsNotNull(PULocationID), IsNotNull(DOLocationID)], ReadSchema: struct<tpep_pickup_datetime:string,tpep_dropoff_datetime:string,passenger_count:string,trip_dista... : +- BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true])), [id=#95] : +- *(1) Project [LocationID#64, Borough#65, Zone#66, service_zone#67] : +- *(1) Filter isnotnull(LocationID#64) : +- FileScan csv [LocationID#64,Borough#65,Zone#66,service_zone#67] Batched: false, DataFilters: [isnotnull(LocationID#64)], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/nyc_taxi/taxi_zone_lookup.csv], PartitionFilters: [], PushedFilters: [IsNotNull(LocationID)], ReadSchema: struct<LocationID:string,Borough:string,Zone:string,service_zone:string> +- ReusedExchange [LocationID#64, Borough#65, Zone#66, service_zone#67], BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true])), [id=#95]