== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#475 as string) AS logs#502, cast(timestamp#476-T3000ms as string) AS timestamp#510, cast(idx#477 as string) AS idx#503, cast(hostname#478 as string) AS hostname#504, cast(time#479 as string) AS time#505, cast(method#480 as string) AS method#506, cast(url#481 as string) AS url#507, cast(responsecode#482 as string) AS responsecode#508, cast(bytes#483 as string) AS bytes#509]
+- LocalRelation [logs#475, timestamp#476-T3000ms, idx#477, hostname#478, time#479, method#480, url#481, responsecode#482, bytes#483]
== 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#475 as string) AS logs#502, cast(timestamp#476-T3000ms as string) AS timestamp#510, cast(idx#477 as string) AS idx#503, cast(hostname#478 as string) AS hostname#504, cast(time#479 as string) AS time#505, cast(method#480 as string) AS method#506, cast(url#481 as string) AS url#507, cast(responsecode#482 as string) AS responsecode#508, cast(bytes#483 as string) AS bytes#509]
+- LocalRelation [logs#475, timestamp#476-T3000ms, idx#477, hostname#478, time#479, method#480, url#481, responsecode#482, bytes#483]
== Optimized Logical Plan ==
LocalRelation [logs#502, timestamp#510, idx#503, hostname#504, time#505, method#506, url#507, responsecode#508, bytes#509]
== Physical Plan ==
LocalTableScan [logs#502, timestamp#510, idx#503, hostname#504, time#505, method#506, url#507, responsecode#508, bytes#509]