== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#1985 as string) AS logs#2012, cast(processing_time#1986-T3000ms as string) AS processing_time#2020, cast(idx#1987 as string) AS idx#2013, cast(hostname#1988 as string) AS hostname#2014, cast(time#1989 as string) AS time#2015, cast(method#1990 as string) AS method#2016, cast(url#1991 as string) AS url#2017, cast(responsecode#1992 as string) AS responsecode#2018, cast(bytes#1993 as string) AS bytes#2019]
+- LocalRelation [logs#1985, processing_time#1986-T3000ms, idx#1987, hostname#1988, time#1989, method#1990, url#1991, responsecode#1992, bytes#1993]
== 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#1985 as string) AS logs#2012, cast(processing_time#1986-T3000ms as string) AS processing_time#2020, cast(idx#1987 as string) AS idx#2013, cast(hostname#1988 as string) AS hostname#2014, cast(time#1989 as string) AS time#2015, cast(method#1990 as string) AS method#2016, cast(url#1991 as string) AS url#2017, cast(responsecode#1992 as string) AS responsecode#2018, cast(bytes#1993 as string) AS bytes#2019]
+- LocalRelation [logs#1985, processing_time#1986-T3000ms, idx#1987, hostname#1988, time#1989, method#1990, url#1991, responsecode#1992, bytes#1993]
== Optimized Logical Plan ==
LocalRelation [logs#2012, processing_time#2020, idx#2013, hostname#2014, time#2015, method#2016, url#2017, responsecode#2018, bytes#2019]
== Physical Plan ==
LocalTableScan [logs#2012, processing_time#2020, idx#2013, hostname#2014, time#2015, method#2016, url#2017, responsecode#2018, bytes#2019]