== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(LocationID#16 as string) AS LocationID#28, cast(Borough#17 as string) AS Borough#29, cast(Zone#18 as string) AS Zone#30, cast(service_zone#19 as string) AS service_zone#31]
+- Relation[LocationID#16,Borough#17,Zone#18,service_zone#19] csv
== Analyzed Logical Plan ==
LocationID: string, Borough: string, Zone: string, service_zone: string
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(LocationID#16 as string) AS LocationID#28, cast(Borough#17 as string) AS Borough#29, cast(Zone#18 as string) AS Zone#30, cast(service_zone#19 as string) AS service_zone#31]
+- Relation[LocationID#16,Borough#17,Zone#18,service_zone#19] csv
== Optimized Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(LocationID#16 as string) AS LocationID#28, Borough#17, Zone#18, service_zone#19]
+- Relation[LocationID#16,Borough#17,Zone#18,service_zone#19] csv
== Physical Plan ==
CollectLimit 21
+- *(1) Project [cast(LocationID#16 as string) AS LocationID#28, Borough#17, Zone#18, service_zone#19]
+- FileScan csv [LocationID#16,Borough#17,Zone#18,service_zone#19] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/nyc_taxi/taxi_zone_lookup.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<LocationID:int,Borough:string,Zone:string,service_zone:string>