== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#316 as string) AS logs#343, cast(timestamp#317-T3000ms as string) AS timestamp#351, cast(idx#318 as string) AS idx#344, cast(hostname#319 as string) AS hostname#345, cast(time#320 as string) AS time#346, cast(method#321 as string) AS method#347, cast(url#322 as string) AS url#348, cast(responsecode#323 as string) AS responsecode#349, cast(bytes#324 as string) AS bytes#350]
+- LocalRelation [logs#316, timestamp#317-T3000ms, idx#318, hostname#319, time#320, method#321, url#322, responsecode#323, bytes#324]
== 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#316 as string) AS logs#343, cast(timestamp#317-T3000ms as string) AS timestamp#351, cast(idx#318 as string) AS idx#344, cast(hostname#319 as string) AS hostname#345, cast(time#320 as string) AS time#346, cast(method#321 as string) AS method#347, cast(url#322 as string) AS url#348, cast(responsecode#323 as string) AS responsecode#349, cast(bytes#324 as string) AS bytes#350]
+- LocalRelation [logs#316, timestamp#317-T3000ms, idx#318, hostname#319, time#320, method#321, url#322, responsecode#323, bytes#324]
== Optimized Logical Plan ==
LocalRelation [logs#343, timestamp#351, idx#344, hostname#345, time#346, method#347, url#348, responsecode#349, bytes#350]
== Physical Plan ==
LocalTableScan [logs#343, timestamp#351, idx#344, hostname#345, time#346, method#347, url#348, responsecode#349, bytes#350]