== Parsed Logical Plan ==
GlobalLimit 1
+- LocalLimit 1
+- Project [new_id#308L]
+- Filter (id#309 = cast(1 as int))
+- Project [cast(attr#306.id as bigint) AS new_id#308L, attr#306.id AS id#309, attr#306]
+- Project [struct(id, id#105, Borough, Borough#106, Zone, Zone#107, service_zone, service_zone#108) AS attr#306]
+- LogicalRDD [id#105, Borough#106, Zone#107, service_zone#108], false
== Analyzed Logical Plan ==
new_id: bigint
GlobalLimit 1
+- LocalLimit 1
+- Project [new_id#308L]
+- Filter (id#309 = cast(1 as int))
+- Project [cast(attr#306.id as bigint) AS new_id#308L, attr#306.id AS id#309, attr#306]
+- Project [struct(id, id#105, Borough, Borough#106, Zone, Zone#107, service_zone, service_zone#108) AS attr#306]
+- LogicalRDD [id#105, Borough#106, Zone#107, service_zone#108], false
== Optimized Logical Plan ==
GlobalLimit 1
+- LocalLimit 1
+- Project [cast(id#105 as bigint) AS new_id#308L]
+- Filter (isnotnull(id#105) AND (id#105 = 1))
+- LogicalRDD [id#105, Borough#106, Zone#107, service_zone#108], false
== Physical Plan ==
CollectLimit 1
+- *(1) Project [cast(id#105 as bigint) AS new_id#308L]
+- *(1) Filter (isnotnull(id#105) AND (id#105 = 1))
+- *(1) Scan ExistingRDD[id#105,Borough#106,Zone#107,service_zone#108]