digraph G {
0 [labelType="html" label="<br><b>TakeOrderedAndProject</b><br><br>"];
subgraph cluster1 {
isCluster="true";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n47 ms (11 ms, 36 ms, 36 ms (stage 47.0: task 49))";
2 [labelType="html" label="<br><b>Project</b><br><br>"];
3 [labelType="html" label="<b>Filter</b><br><br>number of output rows: 125"];
4 [labelType="html" label="<b>ColumnarToRow</b><br><br>number of output rows: 46,236<br>number of input batches: 13"];
}
5 [labelType="html" label="<b>Scan parquet spark_catalog.default.airports</b><br><br>number of files read: 2<br>scan time total (min, med, max (stageId: taskId))<br>37 ms (11 ms, 26 ms, 26 ms (stage 47.0: task 49))<br>metadata time: 0 ms<br>size of files read: 2.1 MiB<br>number of output rows: 46,236"];
2->0;
3->2;
4->3;
5->4;
}
6
TakeOrderedAndProject(limit=5, orderBy=[C_20#2133 DESC NULLS LAST], output=[C_12#2120,C_14#2121,C_17#2122,C_18#2123,C_21#2124,C_19#2125,C_23#2126,C_16#2127,C_15#2128,C_22#2129,C_13#2130,C_24#2131,C_25#2132,C_20#2133])
Project [id#2134 AS C_12#2120, type#2135 AS C_14#2121, name#2136 AS C_17#2122, (round((lat#2137 * 1000.0), 0) / 1000.0) AS C_18#2123, (round((lon#2138 * 1000.0), 0) / 1000.0) AS C_21#2124, (round((elev#2139 * 1000.0), 0) / 1000.0) AS C_19#2125, continent#2140 AS C_23#2126, country#2141 AS C_16#2127, region#2142 AS C_15#2128, city#2143 AS C_22#2129, iata#2144 AS C_13#2130, code#2145 AS C_24#2131, gps#2146 AS C_25#2132, elev#2139 AS C_20#2133]
Filter (((((isnotnull(lon#2138) AND isnotnull(lat#2137)) AND (lon#2138 <= -104.05)) AND (lon#2138 >= -111.05)) AND (lat#2137 >= 41.0)) AND (lat#2137 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#2134,type#2135,name#2136,lat#2137,lon#2138,elev#2139,continent#2140,country#2141,region#2142,city#2143,iata#2144,code#2145,gps#2146] Batched: true, DataFilters: [isnotnull(lon#2138), isnotnull(lat#2137), (lon#2138 <= -104.05), (lon#2138 >= -111.05), (lat#213..., Format: Parquet, Location: InMemoryFileIndex(1 paths)[file:/home/acdcadmin/spark-warehouse/airports], PartitionFilters: [], PushedFilters: [IsNotNull(lon), IsNotNull(lat), LessThanOrEqual(lon,-104.05), GreaterThanOrEqual(lon,-111.05), G..., ReadSchema: struct<id:string,type:string,name:string,lat:double,lon:double,elev:double,continent:string,count...
== Physical Plan ==
TakeOrderedAndProject (5)
+- * Project (4)
+- * Filter (3)
+- * ColumnarToRow (2)
+- Scan parquet spark_catalog.default.airports (1)
(1) Scan parquet spark_catalog.default.airports
Output [13]: [id#2134, type#2135, name#2136, lat#2137, lon#2138, elev#2139, continent#2140, country#2141, region#2142, city#2143, iata#2144, code#2145, gps#2146]
Batched: true
Location: InMemoryFileIndex [file:/home/acdcadmin/spark-warehouse/airports]
PushedFilters: [IsNotNull(lon), IsNotNull(lat), LessThanOrEqual(lon,-104.05), GreaterThanOrEqual(lon,-111.05), GreaterThanOrEqual(lat,41.0), LessThanOrEqual(lat,45.0)]
ReadSchema: struct<id:string,type:string,name:string,lat:double,lon:double,elev:double,continent:string,country:string,region:string,city:string,iata:string,code:string,gps:string>
(2) ColumnarToRow [codegen id : 1]
Input [13]: [id#2134, type#2135, name#2136, lat#2137, lon#2138, elev#2139, continent#2140, country#2141, region#2142, city#2143, iata#2144, code#2145, gps#2146]
(3) Filter [codegen id : 1]
Input [13]: [id#2134, type#2135, name#2136, lat#2137, lon#2138, elev#2139, continent#2140, country#2141, region#2142, city#2143, iata#2144, code#2145, gps#2146]
Condition : (((((isnotnull(lon#2138) AND isnotnull(lat#2137)) AND (lon#2138 <= -104.05)) AND (lon#2138 >= -111.05)) AND (lat#2137 >= 41.0)) AND (lat#2137 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#2134 AS C_12#2120, type#2135 AS C_14#2121, name#2136 AS C_17#2122, (round((lat#2137 * 1000.0), 0) / 1000.0) AS C_18#2123, (round((lon#2138 * 1000.0), 0) / 1000.0) AS C_21#2124, (round((elev#2139 * 1000.0), 0) / 1000.0) AS C_19#2125, continent#2140 AS C_23#2126, country#2141 AS C_16#2127, region#2142 AS C_15#2128, city#2143 AS C_22#2129, iata#2144 AS C_13#2130, code#2145 AS C_24#2131, gps#2146 AS C_25#2132, elev#2139 AS C_20#2133]
Input [13]: [id#2134, type#2135, name#2136, lat#2137, lon#2138, elev#2139, continent#2140, country#2141, region#2142, city#2143, iata#2144, code#2145, gps#2146]
(5) TakeOrderedAndProject
Input [14]: [C_12#2120, C_14#2121, C_17#2122, C_18#2123, C_21#2124, C_19#2125, C_23#2126, C_16#2127, C_15#2128, C_22#2129, C_13#2130, C_24#2131, C_25#2132, C_20#2133]
Arguments: 5, [C_20#2133 DESC NULLS LAST], [C_12#2120, C_14#2121, C_17#2122, C_18#2123, C_21#2124, C_19#2125, C_23#2126, C_16#2127, C_15#2128, C_22#2129, C_13#2130, C_24#2131, C_25#2132, C_20#2133]