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))\n45 ms (12 ms, 33 ms, 33 ms (stage 49.0: task 53))";
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 (12 ms, 25 ms, 25 ms (stage 49.0: task 53))<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_21#2529 DESC NULLS LAST], output=[C_18#2516,C_12#2517,C_19#2518,C_14#2519,C_17#2520,C_22#2521,C_23#2522,C_15#2523,C_20#2524,C_16#2525,C_25#2526,C_13#2527,C_24#2528,C_21#2529])
Project [id#2530 AS C_18#2516, type#2531 AS C_12#2517, name#2532 AS C_19#2518, (round((lat#2533 * 1000.0), 0) / 1000.0) AS C_14#2519, (round((lon#2534 * 1000.0), 0) / 1000.0) AS C_17#2520, (round((elev#2535 * 1000.0), 0) / 1000.0) AS C_22#2521, continent#2536 AS C_23#2522, country#2537 AS C_15#2523, region#2538 AS C_20#2524, city#2539 AS C_16#2525, iata#2540 AS C_25#2526, code#2541 AS C_13#2527, gps#2542 AS C_24#2528, elev#2535 AS C_21#2529]
Filter (((((isnotnull(lon#2534) AND isnotnull(lat#2533)) AND (lon#2534 <= -104.05)) AND (lon#2534 >= -111.05)) AND (lat#2533 >= 41.0)) AND (lat#2533 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#2530,type#2531,name#2532,lat#2533,lon#2534,elev#2535,continent#2536,country#2537,region#2538,city#2539,iata#2540,code#2541,gps#2542] Batched: true, DataFilters: [isnotnull(lon#2534), isnotnull(lat#2533), (lon#2534 <= -104.05), (lon#2534 >= -111.05), (lat#253..., 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#2530, type#2531, name#2532, lat#2533, lon#2534, elev#2535, continent#2536, country#2537, region#2538, city#2539, iata#2540, code#2541, gps#2542]
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#2530, type#2531, name#2532, lat#2533, lon#2534, elev#2535, continent#2536, country#2537, region#2538, city#2539, iata#2540, code#2541, gps#2542]
(3) Filter [codegen id : 1]
Input [13]: [id#2530, type#2531, name#2532, lat#2533, lon#2534, elev#2535, continent#2536, country#2537, region#2538, city#2539, iata#2540, code#2541, gps#2542]
Condition : (((((isnotnull(lon#2534) AND isnotnull(lat#2533)) AND (lon#2534 <= -104.05)) AND (lon#2534 >= -111.05)) AND (lat#2533 >= 41.0)) AND (lat#2533 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#2530 AS C_18#2516, type#2531 AS C_12#2517, name#2532 AS C_19#2518, (round((lat#2533 * 1000.0), 0) / 1000.0) AS C_14#2519, (round((lon#2534 * 1000.0), 0) / 1000.0) AS C_17#2520, (round((elev#2535 * 1000.0), 0) / 1000.0) AS C_22#2521, continent#2536 AS C_23#2522, country#2537 AS C_15#2523, region#2538 AS C_20#2524, city#2539 AS C_16#2525, iata#2540 AS C_25#2526, code#2541 AS C_13#2527, gps#2542 AS C_24#2528, elev#2535 AS C_21#2529]
Input [13]: [id#2530, type#2531, name#2532, lat#2533, lon#2534, elev#2535, continent#2536, country#2537, region#2538, city#2539, iata#2540, code#2541, gps#2542]
(5) TakeOrderedAndProject
Input [14]: [C_18#2516, C_12#2517, C_19#2518, C_14#2519, C_17#2520, C_22#2521, C_23#2522, C_15#2523, C_20#2524, C_16#2525, C_25#2526, C_13#2527, C_24#2528, C_21#2529]
Arguments: 5, [C_21#2529 DESC NULLS LAST], [C_18#2516, C_12#2517, C_19#2518, C_14#2519, C_17#2520, C_22#2521, C_23#2522, C_15#2523, C_20#2524, C_16#2525, C_25#2526, C_13#2527, C_24#2528, C_21#2529]