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))\n68 ms (17 ms, 51 ms, 51 ms (stage 44.0: task 43))";
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>56 ms (16 ms, 40 ms, 40 ms (stage 44.0: task 43))<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#1621 DESC NULLS LAST], output=[C_16#1608,C_23#1609,C_22#1610,C_25#1611,C_24#1612,C_12#1613,C_14#1614,C_13#1615,C_15#1616,C_17#1617,C_18#1618,C_19#1619,C_20#1620,C_21#1621])
Project [id#1622 AS C_16#1608, type#1623 AS C_23#1609, name#1624 AS C_22#1610, (round((lat#1625 * 1000.0), 0) / 1000.0) AS C_25#1611, (round((lon#1626 * 1000.0), 0) / 1000.0) AS C_24#1612, (round((elev#1627 * 1000.0), 0) / 1000.0) AS C_12#1613, continent#1628 AS C_14#1614, country#1629 AS C_13#1615, region#1630 AS C_15#1616, city#1631 AS C_17#1617, iata#1632 AS C_18#1618, code#1633 AS C_19#1619, gps#1634 AS C_20#1620, elev#1627 AS C_21#1621]
Filter (((((isnotnull(lon#1626) AND isnotnull(lat#1625)) AND (lon#1626 <= -104.05)) AND (lon#1626 >= -111.05)) AND (lat#1625 >= 41.0)) AND (lat#1625 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#1622,type#1623,name#1624,lat#1625,lon#1626,elev#1627,continent#1628,country#1629,region#1630,city#1631,iata#1632,code#1633,gps#1634] Batched: true, DataFilters: [isnotnull(lon#1626), isnotnull(lat#1625), (lon#1626 <= -104.05), (lon#1626 >= -111.05), (lat#162..., 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#1622, type#1623, name#1624, lat#1625, lon#1626, elev#1627, continent#1628, country#1629, region#1630, city#1631, iata#1632, code#1633, gps#1634]
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#1622, type#1623, name#1624, lat#1625, lon#1626, elev#1627, continent#1628, country#1629, region#1630, city#1631, iata#1632, code#1633, gps#1634]
(3) Filter [codegen id : 1]
Input [13]: [id#1622, type#1623, name#1624, lat#1625, lon#1626, elev#1627, continent#1628, country#1629, region#1630, city#1631, iata#1632, code#1633, gps#1634]
Condition : (((((isnotnull(lon#1626) AND isnotnull(lat#1625)) AND (lon#1626 <= -104.05)) AND (lon#1626 >= -111.05)) AND (lat#1625 >= 41.0)) AND (lat#1625 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#1622 AS C_16#1608, type#1623 AS C_23#1609, name#1624 AS C_22#1610, (round((lat#1625 * 1000.0), 0) / 1000.0) AS C_25#1611, (round((lon#1626 * 1000.0), 0) / 1000.0) AS C_24#1612, (round((elev#1627 * 1000.0), 0) / 1000.0) AS C_12#1613, continent#1628 AS C_14#1614, country#1629 AS C_13#1615, region#1630 AS C_15#1616, city#1631 AS C_17#1617, iata#1632 AS C_18#1618, code#1633 AS C_19#1619, gps#1634 AS C_20#1620, elev#1627 AS C_21#1621]
Input [13]: [id#1622, type#1623, name#1624, lat#1625, lon#1626, elev#1627, continent#1628, country#1629, region#1630, city#1631, iata#1632, code#1633, gps#1634]
(5) TakeOrderedAndProject
Input [14]: [C_16#1608, C_23#1609, C_22#1610, C_25#1611, C_24#1612, C_12#1613, C_14#1614, C_13#1615, C_15#1616, C_17#1617, C_18#1618, C_19#1619, C_20#1620, C_21#1621]
Arguments: 5, [C_21#1621 DESC NULLS LAST], [C_16#1608, C_23#1609, C_22#1610, C_25#1611, C_24#1612, C_12#1613, C_14#1614, C_13#1615, C_15#1616, C_17#1617, C_18#1618, C_19#1619, C_20#1620, C_21#1621]