== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#419 as string) AS logs#446, cast(timestamp#420-T3000ms as string) AS timestamp#454, cast(idx#421 as string) AS idx#447, cast(hostname#422 as string) AS hostname#448, cast(time#423 as string) AS time#449, cast(method#424 as string) AS method#450, cast(url#425 as string) AS url#451, cast(responsecode#426 as string) AS responsecode#452, cast(bytes#427 as string) AS bytes#453]
+- LocalRelation [logs#419, timestamp#420-T3000ms, idx#421, hostname#422, time#423, method#424, url#425, responsecode#426, bytes#427]
== 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#419 as string) AS logs#446, cast(timestamp#420-T3000ms as string) AS timestamp#454, cast(idx#421 as string) AS idx#447, cast(hostname#422 as string) AS hostname#448, cast(time#423 as string) AS time#449, cast(method#424 as string) AS method#450, cast(url#425 as string) AS url#451, cast(responsecode#426 as string) AS responsecode#452, cast(bytes#427 as string) AS bytes#453]
+- LocalRelation [logs#419, timestamp#420-T3000ms, idx#421, hostname#422, time#423, method#424, url#425, responsecode#426, bytes#427]
== Optimized Logical Plan ==
LocalRelation [logs#446, timestamp#454, idx#447, hostname#448, time#449, method#450, url#451, responsecode#452, bytes#453]
== Physical Plan ==
LocalTableScan [logs#446, timestamp#454, idx#447, hostname#448, time#449, method#450, url#451, responsecode#452, bytes#453]