== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#1929 as string) AS logs#1956, cast(processing_time#1930-T3000ms as string) AS processing_time#1964, cast(idx#1931 as string) AS idx#1957, cast(hostname#1932 as string) AS hostname#1958, cast(time#1933 as string) AS time#1959, cast(method#1934 as string) AS method#1960, cast(url#1935 as string) AS url#1961, cast(responsecode#1936 as string) AS responsecode#1962, cast(bytes#1937 as string) AS bytes#1963]
+- LocalRelation [logs#1929, processing_time#1930-T3000ms, idx#1931, hostname#1932, time#1933, method#1934, url#1935, responsecode#1936, bytes#1937]
== 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#1929 as string) AS logs#1956, cast(processing_time#1930-T3000ms as string) AS processing_time#1964, cast(idx#1931 as string) AS idx#1957, cast(hostname#1932 as string) AS hostname#1958, cast(time#1933 as string) AS time#1959, cast(method#1934 as string) AS method#1960, cast(url#1935 as string) AS url#1961, cast(responsecode#1936 as string) AS responsecode#1962, cast(bytes#1937 as string) AS bytes#1963]
+- LocalRelation [logs#1929, processing_time#1930-T3000ms, idx#1931, hostname#1932, time#1933, method#1934, url#1935, responsecode#1936, bytes#1937]
== Optimized Logical Plan ==
LocalRelation [logs#1956, processing_time#1964, idx#1957, hostname#1958, time#1959, method#1960, url#1961, responsecode#1962, bytes#1963]
== Physical Plan ==
LocalTableScan [logs#1956, processing_time#1964, idx#1957, hostname#1958, time#1959, method#1960, url#1961, responsecode#1962, bytes#1963]