== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#531 as string) AS logs#558, cast(timestamp#532-T3000ms as string) AS timestamp#566, cast(idx#533 as string) AS idx#559, cast(hostname#534 as string) AS hostname#560, cast(time#535 as string) AS time#561, cast(method#536 as string) AS method#562, cast(url#537 as string) AS url#563, cast(responsecode#538 as string) AS responsecode#564, cast(bytes#539 as string) AS bytes#565]
+- LocalRelation [logs#531, timestamp#532-T3000ms, idx#533, hostname#534, time#535, method#536, url#537, responsecode#538, bytes#539]
== 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#531 as string) AS logs#558, cast(timestamp#532-T3000ms as string) AS timestamp#566, cast(idx#533 as string) AS idx#559, cast(hostname#534 as string) AS hostname#560, cast(time#535 as string) AS time#561, cast(method#536 as string) AS method#562, cast(url#537 as string) AS url#563, cast(responsecode#538 as string) AS responsecode#564, cast(bytes#539 as string) AS bytes#565]
+- LocalRelation [logs#531, timestamp#532-T3000ms, idx#533, hostname#534, time#535, method#536, url#537, responsecode#538, bytes#539]
== Optimized Logical Plan ==
LocalRelation [logs#558, timestamp#566, idx#559, hostname#560, time#561, method#562, url#563, responsecode#564, bytes#565]
== Physical Plan ==
LocalTableScan [logs#558, timestamp#566, idx#559, hostname#560, time#561, method#562, url#563, responsecode#564, bytes#565]