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 (13 ms, 32 ms, 32 ms (stage 45.0: task 45))";
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>34 ms (12 ms, 22 ms, 22 ms (stage 45.0: task 45))<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_19#1765 DESC NULLS LAST], output=[C_21#1752,C_17#1753,C_23#1754,C_24#1755,C_12#1756,C_15#1757,C_13#1758,C_22#1759,C_18#1760,C_16#1761,C_14#1762,C_25#1763,C_20#1764,C_19#1765])
Project [id#1766 AS C_21#1752, type#1767 AS C_17#1753, name#1768 AS C_23#1754, (round((lat#1769 * 1000.0), 0) / 1000.0) AS C_24#1755, (round((lon#1770 * 1000.0), 0) / 1000.0) AS C_12#1756, (round((elev#1771 * 1000.0), 0) / 1000.0) AS C_15#1757, continent#1772 AS C_13#1758, country#1773 AS C_22#1759, region#1774 AS C_18#1760, city#1775 AS C_16#1761, iata#1776 AS C_14#1762, code#1777 AS C_25#1763, gps#1778 AS C_20#1764, elev#1771 AS C_19#1765]
Filter (((((isnotnull(lon#1770) AND isnotnull(lat#1769)) AND (lon#1770 <= -104.05)) AND (lon#1770 >= -111.05)) AND (lat#1769 >= 41.0)) AND (lat#1769 <= 45.0))
ColumnarToRow
WholeStageCodegen (1)
FileScan parquet spark_catalog.default.airports[id#1766,type#1767,name#1768,lat#1769,lon#1770,elev#1771,continent#1772,country#1773,region#1774,city#1775,iata#1776,code#1777,gps#1778] Batched: true, DataFilters: [isnotnull(lon#1770), isnotnull(lat#1769), (lon#1770 <= -104.05), (lon#1770 >= -111.05), (lat#176..., 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#1766, type#1767, name#1768, lat#1769, lon#1770, elev#1771, continent#1772, country#1773, region#1774, city#1775, iata#1776, code#1777, gps#1778]
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#1766, type#1767, name#1768, lat#1769, lon#1770, elev#1771, continent#1772, country#1773, region#1774, city#1775, iata#1776, code#1777, gps#1778]
(3) Filter [codegen id : 1]
Input [13]: [id#1766, type#1767, name#1768, lat#1769, lon#1770, elev#1771, continent#1772, country#1773, region#1774, city#1775, iata#1776, code#1777, gps#1778]
Condition : (((((isnotnull(lon#1770) AND isnotnull(lat#1769)) AND (lon#1770 <= -104.05)) AND (lon#1770 >= -111.05)) AND (lat#1769 >= 41.0)) AND (lat#1769 <= 45.0))
(4) Project [codegen id : 1]
Output [14]: [id#1766 AS C_21#1752, type#1767 AS C_17#1753, name#1768 AS C_23#1754, (round((lat#1769 * 1000.0), 0) / 1000.0) AS C_24#1755, (round((lon#1770 * 1000.0), 0) / 1000.0) AS C_12#1756, (round((elev#1771 * 1000.0), 0) / 1000.0) AS C_15#1757, continent#1772 AS C_13#1758, country#1773 AS C_22#1759, region#1774 AS C_18#1760, city#1775 AS C_16#1761, iata#1776 AS C_14#1762, code#1777 AS C_25#1763, gps#1778 AS C_20#1764, elev#1771 AS C_19#1765]
Input [13]: [id#1766, type#1767, name#1768, lat#1769, lon#1770, elev#1771, continent#1772, country#1773, region#1774, city#1775, iata#1776, code#1777, gps#1778]
(5) TakeOrderedAndProject
Input [14]: [C_21#1752, C_17#1753, C_23#1754, C_24#1755, C_12#1756, C_15#1757, C_13#1758, C_22#1759, C_18#1760, C_16#1761, C_14#1762, C_25#1763, C_20#1764, C_19#1765]
Arguments: 5, [C_19#1765 DESC NULLS LAST], [C_21#1752, C_17#1753, C_23#1754, C_24#1755, C_12#1756, C_15#1757, C_13#1758, C_22#1759, C_18#1760, C_16#1761, C_14#1762, C_25#1763, C_20#1764, C_19#1765]