== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#3049 as string) AS logs#3076, cast(processing_time#3050-T3000ms as string) AS processing_time#3084, cast(idx#3051 as string) AS idx#3077, cast(hostname#3052 as string) AS hostname#3078, cast(time#3053 as string) AS time#3079, cast(method#3054 as string) AS method#3080, cast(url#3055 as string) AS url#3081, cast(responsecode#3056 as string) AS responsecode#3082, cast(bytes#3057 as string) AS bytes#3083]
+- LocalRelation [logs#3049, processing_time#3050-T3000ms, idx#3051, hostname#3052, time#3053, method#3054, url#3055, responsecode#3056, bytes#3057]
== 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#3049 as string) AS logs#3076, cast(processing_time#3050-T3000ms as string) AS processing_time#3084, cast(idx#3051 as string) AS idx#3077, cast(hostname#3052 as string) AS hostname#3078, cast(time#3053 as string) AS time#3079, cast(method#3054 as string) AS method#3080, cast(url#3055 as string) AS url#3081, cast(responsecode#3056 as string) AS responsecode#3082, cast(bytes#3057 as string) AS bytes#3083]
+- LocalRelation [logs#3049, processing_time#3050-T3000ms, idx#3051, hostname#3052, time#3053, method#3054, url#3055, responsecode#3056, bytes#3057]
== Optimized Logical Plan ==
LocalRelation [logs#3076, processing_time#3084, idx#3077, hostname#3078, time#3079, method#3080, url#3081, responsecode#3082, bytes#3083]
== Physical Plan ==
LocalTableScan [logs#3076, processing_time#3084, idx#3077, hostname#3078, time#3079, method#3080, url#3081, responsecode#3082, bytes#3083]