== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#2153 as string) AS logs#2180, cast(processing_time#2154-T3000ms as string) AS processing_time#2188, cast(idx#2155 as string) AS idx#2181, cast(hostname#2156 as string) AS hostname#2182, cast(time#2157 as string) AS time#2183, cast(method#2158 as string) AS method#2184, cast(url#2159 as string) AS url#2185, cast(responsecode#2160 as string) AS responsecode#2186, cast(bytes#2161 as string) AS bytes#2187]
+- LocalRelation [logs#2153, processing_time#2154-T3000ms, idx#2155, hostname#2156, time#2157, method#2158, url#2159, responsecode#2160, bytes#2161]
== Analyzed Logical Plan ==
logs: string, processing_time: string, idx: string, hostname: string, time: string, method: string, url: string, responsecode: string, bytes: string
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#2153 as string) AS logs#2180, cast(processing_time#2154-T3000ms as string) AS processing_time#2188, cast(idx#2155 as string) AS idx#2181, cast(hostname#2156 as string) AS hostname#2182, cast(time#2157 as string) AS time#2183, cast(method#2158 as string) AS method#2184, cast(url#2159 as string) AS url#2185, cast(responsecode#2160 as string) AS responsecode#2186, cast(bytes#2161 as string) AS bytes#2187]
+- LocalRelation [logs#2153, processing_time#2154-T3000ms, idx#2155, hostname#2156, time#2157, method#2158, url#2159, responsecode#2160, bytes#2161]
== Optimized Logical Plan ==
LocalRelation [logs#2180, processing_time#2188, idx#2181, hostname#2182, time#2183, method#2184, url#2185, responsecode#2186, bytes#2187]
== Physical Plan ==
LocalTableScan [logs#2180, processing_time#2188, idx#2181, hostname#2182, time#2183, method#2184, url#2185, responsecode#2186, bytes#2187]