== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#587 as string) AS logs#614, cast(timestamp#588-T3000ms as string) AS timestamp#622, cast(idx#589 as string) AS idx#615, cast(hostname#590 as string) AS hostname#616, cast(time#591 as string) AS time#617, cast(method#592 as string) AS method#618, cast(url#593 as string) AS url#619, cast(responsecode#594 as string) AS responsecode#620, cast(bytes#595 as string) AS bytes#621]
+- LocalRelation [logs#587, timestamp#588-T3000ms, idx#589, hostname#590, time#591, method#592, url#593, responsecode#594, bytes#595]
== Analyzed Logical Plan ==
logs: string, timestamp: string, idx: string, hostname: string, time: string, method: string, url: string, responsecode: string, bytes: string
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#587 as string) AS logs#614, cast(timestamp#588-T3000ms as string) AS timestamp#622, cast(idx#589 as string) AS idx#615, cast(hostname#590 as string) AS hostname#616, cast(time#591 as string) AS time#617, cast(method#592 as string) AS method#618, cast(url#593 as string) AS url#619, cast(responsecode#594 as string) AS responsecode#620, cast(bytes#595 as string) AS bytes#621]
+- LocalRelation [logs#587, timestamp#588-T3000ms, idx#589, hostname#590, time#591, method#592, url#593, responsecode#594, bytes#595]
== Optimized Logical Plan ==
LocalRelation [logs#614, timestamp#622, idx#615, hostname#616, time#617, method#618, url#619, responsecode#620, bytes#621]
== Physical Plan ==
LocalTableScan [logs#614, timestamp#622, idx#615, hostname#616, time#617, method#618, url#619, responsecode#620, bytes#621]