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))\n46 ms (16 ms, 30 ms, 30 ms (stage 54.0: task 62))";
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>38 ms (15 ms, 23 ms, 23 ms (stage 54.0: task 62))<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_24#3908 DESC NULLS LAST], output=[C_20#3895,C_18#3896,C_21#3897,C_22#3898,C_25#3899,C_19#3900,C_17#3901,C_12#3902,C_15#3903,C_23#3904,C_13#3905,C_16#3906,C_14#3907,C_24#3908])
Project [id#3909 AS C_20#3895, type#3910 AS C_18#3896, name#3911 AS C_21#3897, (round((lat#3912 * 1000.0), 0) / 1000.0) AS C_22#3898, (round((lon#3913 * 1000.0), 0) / 1000.0) AS C_25#3899, (round((elev#3914 * 1000.0), 0) / 1000.0) AS C_19#3900, continent#3915 AS C_17#3901, country#3916 AS C_12#3902, region#3917 AS C_15#3903, city#3918 AS C_23#3904, iata#3919 AS C_13#3905, code#3920 AS C_16#3906, gps#3921 AS C_14#3907, elev#3914 AS C_24#3908]
Filter (((((isnotnull(lon#3913) AND isnotnull(lat#3912)) AND (lon#3913 <= -104.05)) AND (lon#3913 >= -111.05)) AND (lat#3912 >= 41.0)) AND (lat#3912 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#3909,type#3910,name#3911,lat#3912,lon#3913,elev#3914,continent#3915,country#3916,region#3917,city#3918,iata#3919,code#3920,gps#3921] Batched: true, DataFilters: [isnotnull(lon#3913), isnotnull(lat#3912), (lon#3913 <= -104.05), (lon#3913 >= -111.05), (lat#391..., 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#3909, type#3910, name#3911, lat#3912, lon#3913, elev#3914, continent#3915, country#3916, region#3917, city#3918, iata#3919, code#3920, gps#3921]
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#3909, type#3910, name#3911, lat#3912, lon#3913, elev#3914, continent#3915, country#3916, region#3917, city#3918, iata#3919, code#3920, gps#3921]
(3) Filter [codegen id : 1]
Input [13]: [id#3909, type#3910, name#3911, lat#3912, lon#3913, elev#3914, continent#3915, country#3916, region#3917, city#3918, iata#3919, code#3920, gps#3921]
Condition : (((((isnotnull(lon#3913) AND isnotnull(lat#3912)) AND (lon#3913 <= -104.05)) AND (lon#3913 >= -111.05)) AND (lat#3912 >= 41.0)) AND (lat#3912 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#3909 AS C_20#3895, type#3910 AS C_18#3896, name#3911 AS C_21#3897, (round((lat#3912 * 1000.0), 0) / 1000.0) AS C_22#3898, (round((lon#3913 * 1000.0), 0) / 1000.0) AS C_25#3899, (round((elev#3914 * 1000.0), 0) / 1000.0) AS C_19#3900, continent#3915 AS C_17#3901, country#3916 AS C_12#3902, region#3917 AS C_15#3903, city#3918 AS C_23#3904, iata#3919 AS C_13#3905, code#3920 AS C_16#3906, gps#3921 AS C_14#3907, elev#3914 AS C_24#3908]
Input [13]: [id#3909, type#3910, name#3911, lat#3912, lon#3913, elev#3914, continent#3915, country#3916, region#3917, city#3918, iata#3919, code#3920, gps#3921]
(5) TakeOrderedAndProject
Input [14]: [C_20#3895, C_18#3896, C_21#3897, C_22#3898, C_25#3899, C_19#3900, C_17#3901, C_12#3902, C_15#3903, C_23#3904, C_13#3905, C_16#3906, C_14#3907, C_24#3908]
Arguments: 5, [C_24#3908 DESC NULLS LAST], [C_20#3895, C_18#3896, C_21#3897, C_22#3898, C_25#3899, C_19#3900, C_17#3901, C_12#3902, C_15#3903, C_23#3904, C_13#3905, C_16#3906, C_14#3907, C_24#3908]