== Parsed Logical Plan ==
GlobalLimit 21
+- LocalLimit 21
+- Project [cast(logs#643 as string) AS logs#670, cast(timestamp#644-T3000ms as string) AS timestamp#678, cast(idx#645 as string) AS idx#671, cast(hostname#646 as string) AS hostname#672, cast(time#647 as string) AS time#673, cast(method#648 as string) AS method#674, cast(url#649 as string) AS url#675, cast(responsecode#650 as string) AS responsecode#676, cast(bytes#651 as string) AS bytes#677]
+- LocalRelation [logs#643, timestamp#644-T3000ms, idx#645, hostname#646, time#647, method#648, url#649, responsecode#650, bytes#651]
== 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#643 as string) AS logs#670, cast(timestamp#644-T3000ms as string) AS timestamp#678, cast(idx#645 as string) AS idx#671, cast(hostname#646 as string) AS hostname#672, cast(time#647 as string) AS time#673, cast(method#648 as string) AS method#674, cast(url#649 as string) AS url#675, cast(responsecode#650 as string) AS responsecode#676, cast(bytes#651 as string) AS bytes#677]
+- LocalRelation [logs#643, timestamp#644-T3000ms, idx#645, hostname#646, time#647, method#648, url#649, responsecode#650, bytes#651]
== Optimized Logical Plan ==
LocalRelation [logs#670, timestamp#678, idx#671, hostname#672, time#673, method#674, url#675, responsecode#676, bytes#677]
== Physical Plan ==
LocalTableScan [logs#670, timestamp#678, idx#671, hostname#672, time#673, method#674, url#675, responsecode#676, bytes#677]