== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#135 as string) AS logs#162, cast(timestamp#136-T3000ms as string) AS timestamp#170, cast(idx#137 as string) AS idx#163, cast(hostname#138 as string) AS hostname#164, cast(time#139 as string) AS time#165, cast(method#140 as string) AS method#166, cast(url#141 as string) AS url#167, cast(responsecode#142 as string) AS responsecode#168, cast(bytes#143 as string) AS bytes#169]
+- LocalRelation <empty>, [logs#135, timestamp#136-T3000ms, idx#137, hostname#138, time#139, method#140, url#141, responsecode#142, bytes#143]
== 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#135 as string) AS logs#162, cast(timestamp#136-T3000ms as string) AS timestamp#170, cast(idx#137 as string) AS idx#163, cast(hostname#138 as string) AS hostname#164, cast(time#139 as string) AS time#165, cast(method#140 as string) AS method#166, cast(url#141 as string) AS url#167, cast(responsecode#142 as string) AS responsecode#168, cast(bytes#143 as string) AS bytes#169]
+- LocalRelation <empty>, [logs#135, timestamp#136-T3000ms, idx#137, hostname#138, time#139, method#140, url#141, responsecode#142, bytes#143]
== Optimized Logical Plan ==
LocalRelation <empty>, [logs#162, timestamp#170, idx#163, hostname#164, time#165, method#166, url#167, responsecode#168, bytes#169]
== Physical Plan ==
LocalTableScan <empty>, [logs#162, timestamp#170, idx#163, hostname#164, time#165, method#166, url#167, responsecode#168, bytes#169]