== Physical Plan == CollectLimit (7) +- * ColumnarToRow (6) +- InMemoryTableScan (1) +- InMemoryRelation (2) +- * Project (5) +- * Filter (4) +- Scan csv (3) (1) InMemoryTableScan Output [2]: [turnover#94057334, days_hold#94057397] Arguments: [turnover#94057334, days_hold#94057397] (2) InMemoryRelation Arguments: [turnover#94057334, days_hold#94057397], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((turnover#94057177 = NA) OR (turnover#94057177 = null)) THEN null ELSE cast(turnover#94057177 as float) END AS turnover#94057334, CASE WHEN ((turnover#94057177 = NA) OR (turnover#94057177 = null)) THEN null ELSE (1.0 / cast(cast(turnover#94057177 as float) as double)) END AS days_hold#94057397] +- *(1) Filter ((isnotnull(cap#94057146) AND NOT coalesce(((cap#94057146 = NA) OR (cap#94057146 = null)), false)) AND (cast(cap#94057146 as float) = 0.0)) +- FileScan csv [cap#94057146,turnover#94057177] Batched: false, DataFilters: [isnotnull(cap#94057146), NOT coalesce(((cap#94057146 = NA) OR (cap#94057146 = null)), false), (c..., Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/risk_factors/momentum/..., PartitionFilters: [], PushedFilters: [IsNotNull(cap)], ReadSchema: struct<cap:string,turnover:string> ,None) (3) Scan csv Output [2]: [cap#94057146, turnover#94057177] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/output/risk_factors/momentum/stats_overall.csv] PushedFilters: [IsNotNull(cap)] ReadSchema: struct<cap:string,turnover:string> (4) Filter [codegen id : 1] Input [2]: [cap#94057146, turnover#94057177] Condition : ((isnotnull(cap#94057146) AND NOT coalesce(((cap#94057146 = NA) OR (cap#94057146 = null)), false)) AND (cast(cap#94057146 as float) = 0.0)) (5) Project [codegen id : 1] Output [2]: [CASE WHEN ((turnover#94057177 = NA) OR (turnover#94057177 = null)) THEN null ELSE cast(turnover#94057177 as float) END AS turnover#94057334, CASE WHEN ((turnover#94057177 = NA) OR (turnover#94057177 = null)) THEN null ELSE (1.0 / cast(cast(turnover#94057177 as float) as double)) END AS days_hold#94057397] Input [2]: [cap#94057146, turnover#94057177] (6) ColumnarToRow [codegen id : 1] Input [2]: [turnover#94057334, days_hold#94057397] (7) CollectLimit Input [2]: [turnover#94057334, days_hold#94057397] Arguments: 10000