== Parsed Logical Plan ==
GlobalLimit 1
+- LocalLimit 1
+- Project [new_id#259L]
+- Filter (id#260 = cast(1 as int))
+- Project [cast(attr#257.id as bigint) AS new_id#259L, attr#257.id AS id#260, attr#257]
+- Project [struct(id, id#80, Borough, Borough#73, Zone, Zone#74, service_zone, service_zone#75) AS attr#257]
+- Project [LocationID#72 AS id#80, Borough#73, Zone#74, service_zone#75]
+- Relation[LocationID#72,Borough#73,Zone#74,service_zone#75] csv
== Analyzed Logical Plan ==
new_id: bigint
GlobalLimit 1
+- LocalLimit 1
+- Project [new_id#259L]
+- Filter (id#260 = cast(1 as int))
+- Project [cast(attr#257.id as bigint) AS new_id#259L, attr#257.id AS id#260, attr#257]
+- Project [struct(id, id#80, Borough, Borough#73, Zone, Zone#74, service_zone, service_zone#75) AS attr#257]
+- Project [LocationID#72 AS id#80, Borough#73, Zone#74, service_zone#75]
+- Relation[LocationID#72,Borough#73,Zone#74,service_zone#75] csv
== Optimized Logical Plan ==
GlobalLimit 1
+- LocalLimit 1
+- Project [cast(LocationID#72 as bigint) AS new_id#259L]
+- Filter (isnotnull(LocationID#72) AND (LocationID#72 = 1))
+- Relation[LocationID#72,Borough#73,Zone#74,service_zone#75] csv
== Physical Plan ==
CollectLimit 1
+- *(1) Project [cast(LocationID#72 as bigint) AS new_id#259L]
+- *(1) Filter (isnotnull(LocationID#72) AND (LocationID#72 = 1))
+- FileScan csv [LocationID#72] Batched: false, DataFilters: [isnotnull(LocationID#72), (LocationID#72 = 1)], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/nyc_taxi/taxi_zone_lookup.csv], PartitionFilters: [], PushedFilters: [IsNotNull(LocationID), EqualTo(LocationID,1)], ReadSchema: struct<LocationID:int>