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))\n41 ms (12 ms, 29 ms, 29 ms (stage 60.0: task 73))";
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>33 ms (11 ms, 22 ms, 22 ms (stage 60.0: task 73))<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_25#4947 DESC NULLS LAST], output=[C_12#4934,C_13#4935,C_17#4936,C_19#4937,C_18#4938,C_16#4939,C_15#4940,C_14#4941,C_20#4942,C_23#4943,C_22#4944,C_21#4945,C_24#4946,C_25#4947])
Project [id#4948 AS C_12#4934, type#4949 AS C_13#4935, name#4950 AS C_17#4936, (round((lat#4951 * 1000.0), 0) / 1000.0) AS C_19#4937, (round((lon#4952 * 1000.0), 0) / 1000.0) AS C_18#4938, (round((elev#4953 * 1000.0), 0) / 1000.0) AS C_16#4939, continent#4954 AS C_15#4940, country#4955 AS C_14#4941, region#4956 AS C_20#4942, city#4957 AS C_23#4943, iata#4958 AS C_22#4944, code#4959 AS C_21#4945, gps#4960 AS C_24#4946, elev#4953 AS C_25#4947]
Filter (((((isnotnull(lon#4952) AND isnotnull(lat#4951)) AND (lon#4952 <= -104.05)) AND (lon#4952 >= -111.05)) AND (lat#4951 >= 41.0)) AND (lat#4951 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#4948,type#4949,name#4950,lat#4951,lon#4952,elev#4953,continent#4954,country#4955,region#4956,city#4957,iata#4958,code#4959,gps#4960] Batched: true, DataFilters: [isnotnull(lon#4952), isnotnull(lat#4951), (lon#4952 <= -104.05), (lon#4952 >= -111.05), (lat#495..., 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#4948, type#4949, name#4950, lat#4951, lon#4952, elev#4953, continent#4954, country#4955, region#4956, city#4957, iata#4958, code#4959, gps#4960]
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#4948, type#4949, name#4950, lat#4951, lon#4952, elev#4953, continent#4954, country#4955, region#4956, city#4957, iata#4958, code#4959, gps#4960]
(3) Filter [codegen id : 1]
Input [13]: [id#4948, type#4949, name#4950, lat#4951, lon#4952, elev#4953, continent#4954, country#4955, region#4956, city#4957, iata#4958, code#4959, gps#4960]
Condition : (((((isnotnull(lon#4952) AND isnotnull(lat#4951)) AND (lon#4952 <= -104.05)) AND (lon#4952 >= -111.05)) AND (lat#4951 >= 41.0)) AND (lat#4951 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#4948 AS C_12#4934, type#4949 AS C_13#4935, name#4950 AS C_17#4936, (round((lat#4951 * 1000.0), 0) / 1000.0) AS C_19#4937, (round((lon#4952 * 1000.0), 0) / 1000.0) AS C_18#4938, (round((elev#4953 * 1000.0), 0) / 1000.0) AS C_16#4939, continent#4954 AS C_15#4940, country#4955 AS C_14#4941, region#4956 AS C_20#4942, city#4957 AS C_23#4943, iata#4958 AS C_22#4944, code#4959 AS C_21#4945, gps#4960 AS C_24#4946, elev#4953 AS C_25#4947]
Input [13]: [id#4948, type#4949, name#4950, lat#4951, lon#4952, elev#4953, continent#4954, country#4955, region#4956, city#4957, iata#4958, code#4959, gps#4960]
(5) TakeOrderedAndProject
Input [14]: [C_12#4934, C_13#4935, C_17#4936, C_19#4937, C_18#4938, C_16#4939, C_15#4940, C_14#4941, C_20#4942, C_23#4943, C_22#4944, C_21#4945, C_24#4946, C_25#4947]
Arguments: 5, [C_25#4947 DESC NULLS LAST], [C_12#4934, C_13#4935, C_17#4936, C_19#4937, C_18#4938, C_16#4939, C_15#4940, C_14#4941, C_20#4942, C_23#4943, C_22#4944, C_21#4945, C_24#4946, C_25#4947]