== Physical Plan == CollectLimit (19) +- * ColumnarToRow (18) +- InMemoryTableScan (1) +- InMemoryRelation (2) +- * Project (17) +- * BroadcastNestedLoopJoin Cross BuildRight (16) :- * Project (9) : +- * Filter (8) : +- * ColumnarToRow (7) : +- InMemoryTableScan (3) : +- InMemoryRelation (4) : +- * Project (6) : +- Scan csv (5) +- BroadcastExchange (15) +- * Project (14) +- * Filter (13) +- * ColumnarToRow (12) +- InMemoryTableScan (10) +- InMemoryRelation (11) +- * Project (6) +- Scan csv (5) (1) InMemoryTableScan Output [3]: [ret_large#94056890, ret_small#94056920, differential#94057009] Arguments: [ret_large#94056890, ret_small#94056920, differential#94057009] (2) InMemoryRelation Arguments: [ret_large#94056890, ret_small#94056920, differential#94057009], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(2) Project [ret_large#94056890, ret_small#94056920, (ret_large#94056890 - ret_small#94056920) AS differential#94057009] +- *(2) BroadcastNestedLoopJoin BuildRight, Cross :- *(2) Project [annual_ret#94053931 AS ret_large#94056890] : +- *(2) Filter (isnotnull(cap#94053891) AND (cap#94053891 = 1.0)) : +- *(2) ColumnarToRow : +- InMemoryTableScan [annual_ret#94053931, cap#94053891], [isnotnull(cap#94053891), (cap#94053891 = 1.0)] : +- 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,... +- BroadcastExchange IdentityBroadcastMode, [id=#7509811] +- *(1) Project [annual_ret#94053931 AS ret_small#94056920] +- *(1) Filter (isnotnull(cap#94053891) AND (cap#94053891 = 3.0)) +- *(1) ColumnarToRow +- InMemoryTableScan [annual_ret#94053931, cap#94053891], [isnotnull(cap#94053891), (cap#94053891 = 3.0)] +- 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,... ,None) (3) InMemoryTableScan Output [2]: [annual_ret#94053931, cap#94053891] Arguments: [annual_ret#94053931, cap#94053891], [isnotnull(cap#94053891), (cap#94053891 = 1.0)] (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 : 2] Input [2]: [annual_ret#94053931, cap#94053891] (8) Filter [codegen id : 2] Input [2]: [annual_ret#94053931, cap#94053891] Condition : (isnotnull(cap#94053891) AND (cap#94053891 = 1.0)) (9) Project [codegen id : 2] Output [1]: [annual_ret#94053931 AS ret_large#94056890] Input [2]: [annual_ret#94053931, cap#94053891] (10) InMemoryTableScan Output [2]: [annual_ret#94053931, cap#94053891] Arguments: [annual_ret#94053931, cap#94053891], [isnotnull(cap#94053891), (cap#94053891 = 3.0)] (11) 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) (12) ColumnarToRow [codegen id : 1] Input [2]: [annual_ret#94053931, cap#94053891] (13) Filter [codegen id : 1] Input [2]: [annual_ret#94053931, cap#94053891] Condition : (isnotnull(cap#94053891) AND (cap#94053891 = 3.0)) (14) Project [codegen id : 1] Output [1]: [annual_ret#94053931 AS ret_small#94056920] Input [2]: [annual_ret#94053931, cap#94053891] (15) BroadcastExchange Input [1]: [ret_small#94056920] Arguments: IdentityBroadcastMode, [id=#7509811] (16) BroadcastNestedLoopJoin [codegen id : 2] Join condition: None (17) Project [codegen id : 2] Output [3]: [ret_large#94056890, ret_small#94056920, (ret_large#94056890 - ret_small#94056920) AS differential#94057009] Input [2]: [ret_large#94056890, ret_small#94056920] (18) ColumnarToRow [codegen id : 1] Input [3]: [ret_large#94056890, ret_small#94056920, differential#94057009] (19) CollectLimit Input [3]: [ret_large#94056890, ret_small#94056920, differential#94057009] Arguments: 1000000