== Physical Plan == CollectLimit (21) +- InMemoryTableScan (1) +- InMemoryRelation (2) +- * Project (20) +- * Sort (19) +- Exchange (18) +- * Project (17) +- * BroadcastHashJoin Inner BuildLeft (16) :- BroadcastExchange (9) : +- * Filter (8) : +- * ColumnarToRow (7) : +- InMemoryTableScan (3) : +- InMemoryRelation (4) : +- * Project (6) : +- Scan csv (5) +- * Project (15) +- * Filter (14) +- InMemoryTableScan (10) +- InMemoryRelation (11) +- * Project (13) +- Scan csv (12) (1) InMemoryTableScan Output [3]: [cap#94056948, turnover#94053958, days_hold#94057003] Arguments: [cap#94056948, turnover#94053958, days_hold#94057003] (2) InMemoryRelation Arguments: [cap#94056948, turnover#94053958, days_hold#94057003], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(3) Project [cap#94056948, turnover#94053958, (1.0 / cast(turnover#94053958 as double)) AS days_hold#94057003] +- *(3) Sort [cap_sort#94056886 ASC NULLS FIRST], true, 0 +- Exchange rangepartitioning(cap_sort#94056886 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7509741] +- *(2) Project [turnover#94053958, cap_description#94056885 AS cap#94056948, cap_sort#94056886] +- *(2) BroadcastHashJoin [knownfloatingpointnormalized(normalizenanandzero(cap#94053891))], [knownfloatingpointnormalized(normalizenanandzero(cast(cap#93880528 as float)))], Inner, BuildLeft, false :- BroadcastExchange HashedRelationBroadcastMode(List(knownfloatingpointnormalized(normalizenanandzero(input[0, float, false]))),false), [id=#7509733] : +- *(1) Filter isnotnull(cap#94053891) : +- *(1) ColumnarToRow : +- InMemoryTableScan [cap#94053891, turnover#94053958], [isnotnull(cap#94053891)] : +- InMemoryRelation [cap#94053891, retIC#94053907, resretIC#94053909, numcos#94053923, numdates#94053927, annual_bmret#94053929, annual_ret#94053931, std_ret#94053933, Sharpe_ret#94053935, PctPos_ret#94053937, TR_ret#94053939, IR_ret#94053941, annual_resret#94053943, std_resret#94053945, Sharpe_resret#94053947, PctPos_resret#94053949, TR_resret#94053950, IR_resret#94053951, annual_retnet#94053952, std_retnet#94053953, Sharpe_retnet#94053954, PctPos_retnet#94053955, TR_retnet#94053956, IR_retnet#94053957, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) : +- *(1) Project [CASE WHEN ((cap#94053438 = NA) OR (cap#94053438 = null)) THEN null ELSE cast(cap#94053438 as float) END AS cap#94053891, CASE WHEN ((retIC#94053439 = NA) OR (retIC#94053439 = null)) THEN null ELSE cast(retIC#94053439 as float) END AS retIC#94053907, CASE WHEN ((resretIC#94053440 = NA) OR (resretIC#94053440 = null)) THEN null ELSE cast(resretIC#94053440 as float) END AS resretIC#94053909, CASE WHEN ((numcos#94053441 = NA) OR (numcos#94053441 = null)) THEN null ELSE cast(numcos#94053441 as float) END AS numcos#94053923, CASE WHEN ((numdates#94053442 = NA) OR (numdates#94053442 = null)) THEN null ELSE cast(numdates#94053442 as int) END AS numdates#94053927, CASE WHEN ((annual_bmret#94053443 = NA) OR (annual_bmret#94053443 = null)) THEN null ELSE cast(annual_bmret#94053443 as float) END AS annual_bmret#94053929, CASE WHEN ((annual_ret#94053444 = NA) OR (annual_ret#94053444 = null)) THEN null ELSE cast(annual_ret#94053444 as float) END AS annual_ret#94053931, CASE WHEN ((std_ret#94053445 = NA) OR (std_ret#94053445 = null)) THEN null ELSE cast(std_ret#94053445 as float) END AS std_ret#94053933, CASE WHEN ((Sharpe_ret#94053446 = NA) OR (Sharpe_ret#94053446 = null)) THEN null ELSE cast(Sharpe_ret#94053446 as float) END AS Sharpe_ret#94053935, CASE WHEN ((PctPos_ret#94053447 = NA) OR (PctPos_ret#94053447 = null)) THEN null ELSE cast(PctPos_ret#94053447 as float) END AS PctPos_ret#94053937, CASE WHEN ((TR_ret#94053448 = NA) OR (TR_ret#94053448 = null)) THEN null ELSE cast(TR_ret#94053448 as float) END AS TR_ret#94053939, CASE WHEN ((IR_ret#94053449 = NA) OR (IR_ret#94053449 = null)) THEN null ELSE cast(IR_ret#94053449 as float) END AS IR_ret#94053941, CASE WHEN ((annual_resret#94053450 = NA) OR (annual_resret#94053450 = null)) THEN null ELSE cast(annual_resret#94053450 as float) END AS annual_resret#94053943, CASE WHEN ((std_resret#94053451 = NA) OR (std_resret#94053451 = null)) THEN null ELSE cast(std_resret#94053451 as float) END AS std_resret#94053945, CASE WHEN ((Sharpe_resret#94053452 = NA) OR (Sharpe_resret#94053452 = null)) THEN null ELSE cast(Sharpe_resret#94053452 as float) END AS Sharpe_resret#94053947, CASE WHEN ((PctPos_resret#94053453 = NA) OR (PctPos_resret#94053453 = null)) THEN null ELSE cast(PctPos_resret#94053453 as float) END AS PctPos_resret#94053949, CASE WHEN ((TR_resret#94053454 = NA) OR (TR_resret#94053454 = null)) THEN null ELSE cast(TR_resret#94053454 as float) END AS TR_resret#94053950, CASE WHEN ((IR_resret#94053455 = NA) OR (IR_resret#94053455 = null)) THEN null ELSE cast(IR_resret#94053455 as float) END AS IR_resret#94053951, CASE WHEN ((annual_retnet#94053456 = NA) OR (annual_retnet#94053456 = null)) THEN null ELSE cast(annual_retnet#94053456 as float) END AS annual_retnet#94053952, CASE WHEN ((std_retnet#94053457 = NA) OR (std_retnet#94053457 = null)) THEN null ELSE cast(std_retnet#94053457 as float) END AS std_retnet#94053953, CASE WHEN ((Sharpe_retnet#94053458 = NA) OR (Sharpe_retnet#94053458 = null)) THEN null ELSE cast(Sharpe_retnet#94053458 as float) END AS Sharpe_retnet#94053954, CASE WHEN ((PctPos_retnet#94053459 = NA) OR (PctPos_retnet#94053459 = null)) THEN null ELSE cast(PctPos_retnet#94053459 as float) END AS PctPos_retnet#94053955, CASE WHEN ((TR_retnet#94053460 = NA) OR (TR_retnet#94053460 = null)) THEN null ELSE cast(TR_retnet#94053460 as float) END AS TR_retnet#94053956, CASE WHEN ((IR_retnet#94053461 = NA) OR (IR_retnet#94053461 = null)) THEN null ELSE cast(IR_retnet#94053461 as float) END AS IR_retnet#94053957, ... 2 more fields] : +- FileScan csv [cap#94053438,retIC#94053439,resretIC#94053440,numcos#94053441,numdates#94053442,annual_bmret#94053443,annual_ret#94053444,std_ret#94053445,Sharpe_ret#94053446,PctPos_ret#94053447,TR_ret#94053448,IR_ret#94053449,annual_resret#94053450,std_resret#94053451,Sharpe_resret#94053452,PctPos_resret#94053453,TR_resret#94053454,IR_resret#94053455,annual_retnet#94053456,std_retnet#94053457,Sharpe_retnet#94053458,PctPos_retnet#94053459,TR_retnet#94053460,IR_retnet#94053461,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/risk_factors/momentum/..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... +- *(2) Project [cap#93880528, description#93880533 AS cap_description#94056885, sort#93880531 AS cap_sort#94056886] +- *(2) Filter isnotnull(cap#93880528) +- InMemoryTableScan [cap#93880528, description#93880533, sort#93880531], [isnotnull(cap#93880528)] +- InMemoryRelation [cap#93880528, sort#93880531, description#93880533, universe#93880535], StorageLevel(disk, memory, deserialized, 1 replicas) +- *(1) Project [CASE WHEN ((cap#93880496 = NA) OR (cap#93880496 = null)) THEN null ELSE cast(cap#93880496 as int) END AS cap#93880528, CASE WHEN (sort#93880498 = null) THEN null ELSE sort#93880498 END AS sort#93880531, CASE WHEN (description#93880500 = null) THEN null ELSE description#93880500 END AS description#93880533, CASE WHEN ((universe#93880502 = NA) OR (universe#93880502 = null)) THEN null ELSE cast(universe#93880502 as int) END AS universe#93880535] +- FileScan csv [cap#93880496,sort#93880498,description#93880500,universe#93880502] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/curate/curate_cap.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,sort:string,description:string,universe:string> ,None), [cap_sort#94056886 ASC NULLS FIRST] (3) InMemoryTableScan Output [2]: [cap#94053891, turnover#94053958] Arguments: [cap#94053891, turnover#94053958], [isnotnull(cap#94053891)] (4) InMemoryRelation Arguments: [cap#94053891, retIC#94053907, resretIC#94053909, numcos#94053923, numdates#94053927, annual_bmret#94053929, annual_ret#94053931, std_ret#94053933, Sharpe_ret#94053935, PctPos_ret#94053937, TR_ret#94053939, IR_ret#94053941, annual_resret#94053943, std_resret#94053945, Sharpe_resret#94053947, PctPos_resret#94053949, TR_resret#94053950, IR_resret#94053951, annual_retnet#94053952, std_retnet#94053953, Sharpe_retnet#94053954, PctPos_retnet#94053955, TR_retnet#94053956, IR_retnet#94053957, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94053438 = NA) OR (cap#94053438 = null)) THEN null ELSE cast(cap#94053438 as float) END AS cap#94053891, CASE WHEN ((retIC#94053439 = NA) OR (retIC#94053439 = null)) THEN null ELSE cast(retIC#94053439 as float) END AS retIC#94053907, CASE WHEN ((resretIC#94053440 = NA) OR (resretIC#94053440 = null)) THEN null ELSE cast(resretIC#94053440 as float) END AS resretIC#94053909, CASE WHEN ((numcos#94053441 = NA) OR (numcos#94053441 = null)) THEN null ELSE cast(numcos#94053441 as float) END AS numcos#94053923, CASE WHEN ((numdates#94053442 = NA) OR (numdates#94053442 = null)) THEN null ELSE cast(numdates#94053442 as int) END AS numdates#94053927, CASE WHEN ((annual_bmret#94053443 = NA) OR (annual_bmret#94053443 = null)) THEN null ELSE cast(annual_bmret#94053443 as float) END AS annual_bmret#94053929, CASE WHEN ((annual_ret#94053444 = NA) OR (annual_ret#94053444 = null)) THEN null ELSE cast(annual_ret#94053444 as float) END AS annual_ret#94053931, CASE WHEN ((std_ret#94053445 = NA) OR (std_ret#94053445 = null)) THEN null ELSE cast(std_ret#94053445 as float) END AS std_ret#94053933, CASE WHEN ((Sharpe_ret#94053446 = NA) OR (Sharpe_ret#94053446 = null)) THEN null ELSE cast(Sharpe_ret#94053446 as float) END AS Sharpe_ret#94053935, CASE WHEN ((PctPos_ret#94053447 = NA) OR (PctPos_ret#94053447 = null)) THEN null ELSE cast(PctPos_ret#94053447 as float) END AS PctPos_ret#94053937, CASE WHEN ((TR_ret#94053448 = NA) OR (TR_ret#94053448 = null)) THEN null ELSE cast(TR_ret#94053448 as float) END AS TR_ret#94053939, CASE WHEN ((IR_ret#94053449 = NA) OR (IR_ret#94053449 = null)) THEN null ELSE cast(IR_ret#94053449 as float) END AS IR_ret#94053941, CASE WHEN ((annual_resret#94053450 = NA) OR (annual_resret#94053450 = null)) THEN null ELSE cast(annual_resret#94053450 as float) END AS annual_resret#94053943, CASE WHEN ((std_resret#94053451 = NA) OR (std_resret#94053451 = null)) THEN null ELSE cast(std_resret#94053451 as float) END AS std_resret#94053945, CASE WHEN ((Sharpe_resret#94053452 = NA) OR (Sharpe_resret#94053452 = null)) THEN null ELSE cast(Sharpe_resret#94053452 as float) END AS Sharpe_resret#94053947, CASE WHEN ((PctPos_resret#94053453 = NA) OR (PctPos_resret#94053453 = null)) THEN null ELSE cast(PctPos_resret#94053453 as float) END AS PctPos_resret#94053949, CASE WHEN ((TR_resret#94053454 = NA) OR (TR_resret#94053454 = null)) THEN null ELSE cast(TR_resret#94053454 as float) END AS TR_resret#94053950, CASE WHEN ((IR_resret#94053455 = NA) OR (IR_resret#94053455 = null)) THEN null ELSE cast(IR_resret#94053455 as float) END AS IR_resret#94053951, CASE WHEN ((annual_retnet#94053456 = NA) OR (annual_retnet#94053456 = null)) THEN null ELSE cast(annual_retnet#94053456 as float) END AS annual_retnet#94053952, CASE WHEN ((std_retnet#94053457 = NA) OR (std_retnet#94053457 = null)) THEN null ELSE cast(std_retnet#94053457 as float) END AS std_retnet#94053953, CASE WHEN ((Sharpe_retnet#94053458 = NA) OR (Sharpe_retnet#94053458 = null)) THEN null ELSE cast(Sharpe_retnet#94053458 as float) END AS Sharpe_retnet#94053954, CASE WHEN ((PctPos_retnet#94053459 = NA) OR (PctPos_retnet#94053459 = null)) THEN null ELSE cast(PctPos_retnet#94053459 as float) END AS PctPos_retnet#94053955, CASE WHEN ((TR_retnet#94053460 = NA) OR (TR_retnet#94053460 = null)) THEN null ELSE cast(TR_retnet#94053460 as float) END AS TR_retnet#94053956, CASE WHEN ((IR_retnet#94053461 = NA) OR (IR_retnet#94053461 = null)) THEN null ELSE cast(IR_retnet#94053461 as float) END AS IR_retnet#94053957, ... 2 more fields] +- FileScan csv [cap#94053438,retIC#94053439,resretIC#94053440,numcos#94053441,numdates#94053442,annual_bmret#94053443,annual_ret#94053444,std_ret#94053445,Sharpe_ret#94053446,PctPos_ret#94053447,TR_ret#94053448,IR_ret#94053449,annual_resret#94053450,std_resret#94053451,Sharpe_resret#94053452,PctPos_resret#94053453,TR_resret#94053454,IR_resret#94053455,annual_retnet#94053456,std_retnet#94053457,Sharpe_retnet#94053458,PctPos_retnet#94053459,TR_retnet#94053460,IR_retnet#94053461,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/risk_factors/momentum/..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (5) Scan csv Output [26]: [cap#94053438, retIC#94053439, resretIC#94053440, numcos#94053441, numdates#94053442, annual_bmret#94053443, annual_ret#94053444, std_ret#94053445, Sharpe_ret#94053446, PctPos_ret#94053447, TR_ret#94053448, IR_ret#94053449, annual_resret#94053450, std_resret#94053451, Sharpe_resret#94053452, PctPos_resret#94053453, TR_resret#94053454, IR_resret#94053455, annual_retnet#94053456, std_retnet#94053457, Sharpe_retnet#94053458, PctPos_retnet#94053459, TR_retnet#94053460, IR_retnet#94053461, turnover#94053462, coverage#94053463] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/output/risk_factors/momentum/stats_cap.csv] ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,annual_ret:string,std_ret:string,Sharpe_ret:string,PctPos_ret:string,TR_ret:string,IR_ret:string,annual_resret:string,std_resret:string,Sharpe_resret:string,PctPos_resret:string,TR_resret:string,IR_resret:string,annual_retnet:string,std_retnet:string,Sharpe_retnet:string,PctPos_retnet:string,TR_retnet:string,IR_retnet:string,turnover:string,coverage:string> (6) Project [codegen id : 1] Output [26]: [CASE WHEN ((cap#94053438 = NA) OR (cap#94053438 = null)) THEN null ELSE cast(cap#94053438 as float) END AS cap#94053891, CASE WHEN ((retIC#94053439 = NA) OR (retIC#94053439 = null)) THEN null ELSE cast(retIC#94053439 as float) END AS retIC#94053907, CASE WHEN ((resretIC#94053440 = NA) OR (resretIC#94053440 = null)) THEN null ELSE cast(resretIC#94053440 as float) END AS resretIC#94053909, CASE WHEN ((numcos#94053441 = NA) OR (numcos#94053441 = null)) THEN null ELSE cast(numcos#94053441 as float) END AS numcos#94053923, CASE WHEN ((numdates#94053442 = NA) OR (numdates#94053442 = null)) THEN null ELSE cast(numdates#94053442 as int) END AS numdates#94053927, CASE WHEN ((annual_bmret#94053443 = NA) OR (annual_bmret#94053443 = null)) THEN null ELSE cast(annual_bmret#94053443 as float) END AS annual_bmret#94053929, CASE WHEN ((annual_ret#94053444 = NA) OR (annual_ret#94053444 = null)) THEN null ELSE cast(annual_ret#94053444 as float) END AS annual_ret#94053931, CASE WHEN ((std_ret#94053445 = NA) OR (std_ret#94053445 = null)) THEN null ELSE cast(std_ret#94053445 as float) END AS std_ret#94053933, CASE WHEN ((Sharpe_ret#94053446 = NA) OR (Sharpe_ret#94053446 = null)) THEN null ELSE cast(Sharpe_ret#94053446 as float) END AS Sharpe_ret#94053935, CASE WHEN ((PctPos_ret#94053447 = NA) OR (PctPos_ret#94053447 = null)) THEN null ELSE cast(PctPos_ret#94053447 as float) END AS PctPos_ret#94053937, CASE WHEN ((TR_ret#94053448 = NA) OR (TR_ret#94053448 = null)) THEN null ELSE cast(TR_ret#94053448 as float) END AS TR_ret#94053939, CASE WHEN ((IR_ret#94053449 = NA) OR (IR_ret#94053449 = null)) THEN null ELSE cast(IR_ret#94053449 as float) END AS IR_ret#94053941, CASE WHEN ((annual_resret#94053450 = NA) OR (annual_resret#94053450 = null)) THEN null ELSE cast(annual_resret#94053450 as float) END AS annual_resret#94053943, CASE WHEN ((std_resret#94053451 = NA) OR (std_resret#94053451 = null)) THEN null ELSE cast(std_resret#94053451 as float) END AS std_resret#94053945, CASE WHEN ((Sharpe_resret#94053452 = NA) OR (Sharpe_resret#94053452 = null)) THEN null ELSE cast(Sharpe_resret#94053452 as float) END AS Sharpe_resret#94053947, CASE WHEN ((PctPos_resret#94053453 = NA) OR (PctPos_resret#94053453 = null)) THEN null ELSE cast(PctPos_resret#94053453 as float) END AS PctPos_resret#94053949, CASE WHEN ((TR_resret#94053454 = NA) OR (TR_resret#94053454 = null)) THEN null ELSE cast(TR_resret#94053454 as float) END AS TR_resret#94053950, CASE WHEN ((IR_resret#94053455 = NA) OR (IR_resret#94053455 = null)) THEN null ELSE cast(IR_resret#94053455 as float) END AS IR_resret#94053951, CASE WHEN ((annual_retnet#94053456 = NA) OR (annual_retnet#94053456 = null)) THEN null ELSE cast(annual_retnet#94053456 as float) END AS annual_retnet#94053952, CASE WHEN ((std_retnet#94053457 = NA) OR (std_retnet#94053457 = null)) THEN null ELSE cast(std_retnet#94053457 as float) END AS std_retnet#94053953, CASE WHEN ((Sharpe_retnet#94053458 = NA) OR (Sharpe_retnet#94053458 = null)) THEN null ELSE cast(Sharpe_retnet#94053458 as float) END AS Sharpe_retnet#94053954, CASE WHEN ((PctPos_retnet#94053459 = NA) OR (PctPos_retnet#94053459 = null)) THEN null ELSE cast(PctPos_retnet#94053459 as float) END AS PctPos_retnet#94053955, CASE WHEN ((TR_retnet#94053460 = NA) OR (TR_retnet#94053460 = null)) THEN null ELSE cast(TR_retnet#94053460 as float) END AS TR_retnet#94053956, CASE WHEN ((IR_retnet#94053461 = NA) OR (IR_retnet#94053461 = null)) THEN null ELSE cast(IR_retnet#94053461 as float) END AS IR_retnet#94053957, CASE WHEN ((turnover#94053462 = NA) OR (turnover#94053462 = null)) THEN null ELSE cast(turnover#94053462 as float) END AS turnover#94053958, CASE WHEN ((coverage#94053463 = NA) OR (coverage#94053463 = null)) THEN null ELSE cast(coverage#94053463 as float) END AS coverage#94053959] Input [26]: [cap#94053438, retIC#94053439, resretIC#94053440, numcos#94053441, numdates#94053442, annual_bmret#94053443, annual_ret#94053444, std_ret#94053445, Sharpe_ret#94053446, PctPos_ret#94053447, TR_ret#94053448, IR_ret#94053449, annual_resret#94053450, std_resret#94053451, Sharpe_resret#94053452, PctPos_resret#94053453, TR_resret#94053454, IR_resret#94053455, annual_retnet#94053456, std_retnet#94053457, Sharpe_retnet#94053458, PctPos_retnet#94053459, TR_retnet#94053460, IR_retnet#94053461, turnover#94053462, coverage#94053463] (7) ColumnarToRow [codegen id : 1] Input [2]: [cap#94053891, turnover#94053958] (8) Filter [codegen id : 1] Input [2]: [cap#94053891, turnover#94053958] Condition : isnotnull(cap#94053891) (9) BroadcastExchange Input [2]: [cap#94053891, turnover#94053958] Arguments: HashedRelationBroadcastMode(List(knownfloatingpointnormalized(normalizenanandzero(input[0, float, false]))),false), [id=#7509733] (10) InMemoryTableScan Output [3]: [cap#93880528, description#93880533, sort#93880531] Arguments: [cap#93880528, description#93880533, sort#93880531], [isnotnull(cap#93880528)] (11) InMemoryRelation Arguments: [cap#93880528, sort#93880531, description#93880533, universe#93880535], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#93880496 = NA) OR (cap#93880496 = null)) THEN null ELSE cast(cap#93880496 as int) END AS cap#93880528, CASE WHEN (sort#93880498 = null) THEN null ELSE sort#93880498 END AS sort#93880531, CASE WHEN (description#93880500 = null) THEN null ELSE description#93880500 END AS description#93880533, CASE WHEN ((universe#93880502 = NA) OR (universe#93880502 = null)) THEN null ELSE cast(universe#93880502 as int) END AS universe#93880535] +- FileScan csv [cap#93880496,sort#93880498,description#93880500,universe#93880502] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/curate/curate_cap.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,sort:string,description:string,universe:string> ,None) (12) Scan csv Output [4]: [cap#93880496, sort#93880498, description#93880500, universe#93880502] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/curate/curate_cap.csv] ReadSchema: struct<cap:string,sort:string,description:string,universe:string> (13) Project [codegen id : 1] Output [4]: [CASE WHEN ((cap#93880496 = NA) OR (cap#93880496 = null)) THEN null ELSE cast(cap#93880496 as int) END AS cap#93880528, CASE WHEN (sort#93880498 = null) THEN null ELSE sort#93880498 END AS sort#93880531, CASE WHEN (description#93880500 = null) THEN null ELSE description#93880500 END AS description#93880533, CASE WHEN ((universe#93880502 = NA) OR (universe#93880502 = null)) THEN null ELSE cast(universe#93880502 as int) END AS universe#93880535] Input [4]: [cap#93880496, sort#93880498, description#93880500, universe#93880502] (14) Filter Input [3]: [cap#93880528, description#93880533, sort#93880531] Condition : isnotnull(cap#93880528) (15) Project Output [3]: [cap#93880528, description#93880533 AS cap_description#94056885, sort#93880531 AS cap_sort#94056886] Input [3]: [cap#93880528, description#93880533, sort#93880531] (16) BroadcastHashJoin [codegen id : 2] Left keys [1]: [knownfloatingpointnormalized(normalizenanandzero(cap#94053891))] Right keys [1]: [knownfloatingpointnormalized(normalizenanandzero(cast(cap#93880528 as float)))] Join condition: None (17) Project [codegen id : 2] Output [3]: [turnover#94053958, cap_description#94056885 AS cap#94056948, cap_sort#94056886] Input [5]: [cap#94053891, turnover#94053958, cap#93880528, cap_description#94056885, cap_sort#94056886] (18) Exchange Input [3]: [turnover#94053958, cap#94056948, cap_sort#94056886] Arguments: rangepartitioning(cap_sort#94056886 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7509741] (19) Sort [codegen id : 3] Input [3]: [turnover#94053958, cap#94056948, cap_sort#94056886] Arguments: [cap_sort#94056886 ASC NULLS FIRST], true, 0 (20) Project [codegen id : 3] Output [3]: [cap#94056948, turnover#94053958, (1.0 / cast(turnover#94053958 as double)) AS days_hold#94057003] Input [3]: [turnover#94053958, cap#94056948, cap_sort#94056886] (21) CollectLimit Input [3]: [cap#94056948, turnover#94053958, days_hold#94057003] Arguments: 1000000