== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#307 as string) AS logs#334, cast(timestamp#308-T3000ms as string) AS timestamp#342, cast(idx#309 as string) AS idx#335, cast(hostname#310 as string) AS hostname#336, cast(time#311 as string) AS time#337, cast(method#312 as string) AS method#338, cast(url#313 as string) AS url#339, cast(responsecode#314 as string) AS responsecode#340, cast(bytes#315 as string) AS bytes#341]
+- LocalRelation [logs#307, timestamp#308-T3000ms, idx#309, hostname#310, time#311, method#312, url#313, responsecode#314, bytes#315]
== 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#307 as string) AS logs#334, cast(timestamp#308-T3000ms as string) AS timestamp#342, cast(idx#309 as string) AS idx#335, cast(hostname#310 as string) AS hostname#336, cast(time#311 as string) AS time#337, cast(method#312 as string) AS method#338, cast(url#313 as string) AS url#339, cast(responsecode#314 as string) AS responsecode#340, cast(bytes#315 as string) AS bytes#341]
+- LocalRelation [logs#307, timestamp#308-T3000ms, idx#309, hostname#310, time#311, method#312, url#313, responsecode#314, bytes#315]
== Optimized Logical Plan ==
LocalRelation [logs#334, timestamp#342, idx#335, hostname#336, time#337, method#338, url#339, responsecode#340, bytes#341]
== Physical Plan ==
LocalTableScan [logs#334, timestamp#342, idx#335, hostname#336, time#337, method#338, url#339, responsecode#340, bytes#341]