== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#363 as string) AS logs#390, cast(timestamp#364-T3000ms as string) AS timestamp#398, cast(idx#365 as string) AS idx#391, cast(hostname#366 as string) AS hostname#392, cast(time#367 as string) AS time#393, cast(method#368 as string) AS method#394, cast(url#369 as string) AS url#395, cast(responsecode#370 as string) AS responsecode#396, cast(bytes#371 as string) AS bytes#397]
+- LocalRelation [logs#363, timestamp#364-T3000ms, idx#365, hostname#366, time#367, method#368, url#369, responsecode#370, bytes#371]
== 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#363 as string) AS logs#390, cast(timestamp#364-T3000ms as string) AS timestamp#398, cast(idx#365 as string) AS idx#391, cast(hostname#366 as string) AS hostname#392, cast(time#367 as string) AS time#393, cast(method#368 as string) AS method#394, cast(url#369 as string) AS url#395, cast(responsecode#370 as string) AS responsecode#396, cast(bytes#371 as string) AS bytes#397]
+- LocalRelation [logs#363, timestamp#364-T3000ms, idx#365, hostname#366, time#367, method#368, url#369, responsecode#370, bytes#371]
== Optimized Logical Plan ==
LocalRelation [logs#390, timestamp#398, idx#391, hostname#392, time#393, method#394, url#395, responsecode#396, bytes#397]
== Physical Plan ==
LocalTableScan [logs#390, timestamp#398, idx#391, hostname#392, time#393, method#394, url#395, responsecode#396, bytes#397]