== Physical Plan == CollectLimit (17) +- * ColumnarToRow (16) +- InMemoryTableScan (1) +- InMemoryRelation (2) +- * Project (15) +- * BroadcastNestedLoopJoin Cross BuildRight (14) :- * Project (8) : +- * Filter (7) : +- InMemoryTableScan (3) : +- InMemoryRelation (4) : +- * Project (6) : +- Scan csv (5) +- BroadcastExchange (13) +- * Project (12) +- * Filter (11) +- InMemoryTableScan (9) +- InMemoryRelation (10) +- * Project (6) +- Scan csv (5) (1) InMemoryTableScan Output [3]: [ret_large#94826328, ret_small#94826413, differential#94826447] Arguments: [ret_large#94826328, ret_small#94826413, differential#94826447] (2) InMemoryRelation Arguments: [ret_large#94826328, ret_small#94826413, differential#94826447], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(2) Project [ret_large#94826328, ret_small#94826413, (ret_large#94826328 - ret_small#94826413) AS differential#94826447] +- *(2) BroadcastNestedLoopJoin BuildRight, Cross :- *(2) Project [annual_ret#94823221 AS ret_large#94826328] : +- *(2) Filter (isnotnull(cap#94823212) AND (cap#94823212 = 1.0)) : +- InMemoryTableScan [annual_ret#94823221, cap#94823212], [isnotnull(cap#94823212), (cap#94823212 = 1.0)] : +- InMemoryRelation [cap#94823212, retIC#94823213, resretIC#94823214, numcos#94823215, numdates#94823216, annual_bmret#94823219, annual_ret#94823221, std_ret#94823225, Sharpe_ret#94823229, PctPos_ret#94823232, TR_ret#94823234, IR_ret#94823237, annual_resret#94823239, std_resret#94823242, Sharpe_resret#94823243, PctPos_resret#94823255, TR_resret#94823256, IR_resret#94823258, annual_retnet#94823259, std_retnet#94823272, Sharpe_retnet#94823273, PctPos_retnet#94823274, TR_retnet#94823286, IR_retnet#94823288, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) : +- *(1) Project [CASE WHEN ((cap#94822853 = NA) OR (cap#94822853 = null)) THEN null ELSE cast(cap#94822853 as float) END AS cap#94823212, CASE WHEN ((retIC#94822854 = NA) OR (retIC#94822854 = null)) THEN null ELSE cast(retIC#94822854 as float) END AS retIC#94823213, CASE WHEN ((resretIC#94822855 = NA) OR (resretIC#94822855 = null)) THEN null ELSE cast(resretIC#94822855 as float) END AS resretIC#94823214, CASE WHEN ((numcos#94822856 = NA) OR (numcos#94822856 = null)) THEN null ELSE cast(numcos#94822856 as float) END AS numcos#94823215, CASE WHEN ((numdates#94822857 = NA) OR (numdates#94822857 = null)) THEN null ELSE cast(numdates#94822857 as int) END AS numdates#94823216, CASE WHEN (annual_bmret#94822858 = null) THEN null ELSE annual_bmret#94822858 END AS annual_bmret#94823219, CASE WHEN ((annual_ret#94822859 = NA) OR (annual_ret#94822859 = null)) THEN null ELSE cast(annual_ret#94822859 as float) END AS annual_ret#94823221, CASE WHEN ((std_ret#94822860 = NA) OR (std_ret#94822860 = null)) THEN null ELSE cast(std_ret#94822860 as float) END AS std_ret#94823225, CASE WHEN ((Sharpe_ret#94822861 = NA) OR (Sharpe_ret#94822861 = null)) THEN null ELSE cast(Sharpe_ret#94822861 as float) END AS Sharpe_ret#94823229, CASE WHEN ((PctPos_ret#94822862 = NA) OR (PctPos_ret#94822862 = null)) THEN null ELSE cast(PctPos_ret#94822862 as float) END AS PctPos_ret#94823232, CASE WHEN (TR_ret#94822863 = null) THEN null ELSE TR_ret#94822863 END AS TR_ret#94823234, CASE WHEN (IR_ret#94822864 = null) THEN null ELSE IR_ret#94822864 END AS IR_ret#94823237, CASE WHEN ((annual_resret#94822865 = NA) OR (annual_resret#94822865 = null)) THEN null ELSE cast(annual_resret#94822865 as float) END AS annual_resret#94823239, CASE WHEN ((std_resret#94822866 = NA) OR (std_resret#94822866 = null)) THEN null ELSE cast(std_resret#94822866 as float) END AS std_resret#94823242, CASE WHEN ((Sharpe_resret#94822867 = NA) OR (Sharpe_resret#94822867 = null)) THEN null ELSE cast(Sharpe_resret#94822867 as float) END AS Sharpe_resret#94823243, CASE WHEN ((PctPos_resret#94822868 = NA) OR (PctPos_resret#94822868 = null)) THEN null ELSE cast(PctPos_resret#94822868 as float) END AS PctPos_resret#94823255, CASE WHEN (TR_resret#94822869 = null) THEN null ELSE TR_resret#94822869 END AS TR_resret#94823256, CASE WHEN (IR_resret#94822870 = null) THEN null ELSE IR_resret#94822870 END AS IR_resret#94823258, CASE WHEN ((annual_retnet#94822871 = NA) OR (annual_retnet#94822871 = null)) THEN null ELSE cast(annual_retnet#94822871 as float) END AS annual_retnet#94823259, CASE WHEN ((std_retnet#94822872 = NA) OR (std_retnet#94822872 = null)) THEN null ELSE cast(std_retnet#94822872 as float) END AS std_retnet#94823272, CASE WHEN ((Sharpe_retnet#94822873 = NA) OR (Sharpe_retnet#94822873 = null)) THEN null ELSE cast(Sharpe_retnet#94822873 as float) END AS Sharpe_retnet#94823273, CASE WHEN ((PctPos_retnet#94822874 = NA) OR (PctPos_retnet#94822874 = null)) THEN null ELSE cast(PctPos_retnet#94822874 as float) END AS PctPos_retnet#94823274, CASE WHEN (TR_retnet#94822875 = null) THEN null ELSE TR_retnet#94822875 END AS TR_retnet#94823286, CASE WHEN (IR_retnet#94822876 = null) THEN null ELSE IR_retnet#94822876 END AS IR_retnet#94823288, ... 2 more fields] : +- FileScan csv [cap#94822853,retIC#94822854,resretIC#94822855,numcos#94822856,numdates#94822857,annual_bmret#94822858,annual_ret#94822859,std_ret#94822860,Sharpe_ret#94822861,PctPos_ret#94822862,TR_ret#94822863,IR_ret#94822864,annual_resret#94822865,std_resret#94822866,Sharpe_resret#94822867,PctPos_resret#94822868,TR_resret#94822869,IR_resret#94822870,annual_retnet#94822871,std_retnet#94822872,Sharpe_retnet#94822873,PctPos_retnet#94822874,TR_retnet#94822875,IR_retnet#94822876,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rank..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... +- BroadcastExchange IdentityBroadcastMode, [id=#7570823] +- *(1) Project [annual_ret#94823221 AS ret_small#94826413] +- *(1) Filter (isnotnull(cap#94823212) AND (cap#94823212 = 3.0)) +- InMemoryTableScan [annual_ret#94823221, cap#94823212], [isnotnull(cap#94823212), (cap#94823212 = 3.0)] +- InMemoryRelation [cap#94823212, retIC#94823213, resretIC#94823214, numcos#94823215, numdates#94823216, annual_bmret#94823219, annual_ret#94823221, std_ret#94823225, Sharpe_ret#94823229, PctPos_ret#94823232, TR_ret#94823234, IR_ret#94823237, annual_resret#94823239, std_resret#94823242, Sharpe_resret#94823243, PctPos_resret#94823255, TR_resret#94823256, IR_resret#94823258, annual_retnet#94823259, std_retnet#94823272, Sharpe_retnet#94823273, PctPos_retnet#94823274, TR_retnet#94823286, IR_retnet#94823288, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) +- *(1) Project [CASE WHEN ((cap#94822853 = NA) OR (cap#94822853 = null)) THEN null ELSE cast(cap#94822853 as float) END AS cap#94823212, CASE WHEN ((retIC#94822854 = NA) OR (retIC#94822854 = null)) THEN null ELSE cast(retIC#94822854 as float) END AS retIC#94823213, CASE WHEN ((resretIC#94822855 = NA) OR (resretIC#94822855 = null)) THEN null ELSE cast(resretIC#94822855 as float) END AS resretIC#94823214, CASE WHEN ((numcos#94822856 = NA) OR (numcos#94822856 = null)) THEN null ELSE cast(numcos#94822856 as float) END AS numcos#94823215, CASE WHEN ((numdates#94822857 = NA) OR (numdates#94822857 = null)) THEN null ELSE cast(numdates#94822857 as int) END AS numdates#94823216, CASE WHEN (annual_bmret#94822858 = null) THEN null ELSE annual_bmret#94822858 END AS annual_bmret#94823219, CASE WHEN ((annual_ret#94822859 = NA) OR (annual_ret#94822859 = null)) THEN null ELSE cast(annual_ret#94822859 as float) END AS annual_ret#94823221, CASE WHEN ((std_ret#94822860 = NA) OR (std_ret#94822860 = null)) THEN null ELSE cast(std_ret#94822860 as float) END AS std_ret#94823225, CASE WHEN ((Sharpe_ret#94822861 = NA) OR (Sharpe_ret#94822861 = null)) THEN null ELSE cast(Sharpe_ret#94822861 as float) END AS Sharpe_ret#94823229, CASE WHEN ((PctPos_ret#94822862 = NA) OR (PctPos_ret#94822862 = null)) THEN null ELSE cast(PctPos_ret#94822862 as float) END AS PctPos_ret#94823232, CASE WHEN (TR_ret#94822863 = null) THEN null ELSE TR_ret#94822863 END AS TR_ret#94823234, CASE WHEN (IR_ret#94822864 = null) THEN null ELSE IR_ret#94822864 END AS IR_ret#94823237, CASE WHEN ((annual_resret#94822865 = NA) OR (annual_resret#94822865 = null)) THEN null ELSE cast(annual_resret#94822865 as float) END AS annual_resret#94823239, CASE WHEN ((std_resret#94822866 = NA) OR (std_resret#94822866 = null)) THEN null ELSE cast(std_resret#94822866 as float) END AS std_resret#94823242, CASE WHEN ((Sharpe_resret#94822867 = NA) OR (Sharpe_resret#94822867 = null)) THEN null ELSE cast(Sharpe_resret#94822867 as float) END AS Sharpe_resret#94823243, CASE WHEN ((PctPos_resret#94822868 = NA) OR (PctPos_resret#94822868 = null)) THEN null ELSE cast(PctPos_resret#94822868 as float) END AS PctPos_resret#94823255, CASE WHEN (TR_resret#94822869 = null) THEN null ELSE TR_resret#94822869 END AS TR_resret#94823256, CASE WHEN (IR_resret#94822870 = null) THEN null ELSE IR_resret#94822870 END AS IR_resret#94823258, CASE WHEN ((annual_retnet#94822871 = NA) OR (annual_retnet#94822871 = null)) THEN null ELSE cast(annual_retnet#94822871 as float) END AS annual_retnet#94823259, CASE WHEN ((std_retnet#94822872 = NA) OR (std_retnet#94822872 = null)) THEN null ELSE cast(std_retnet#94822872 as float) END AS std_retnet#94823272, CASE WHEN ((Sharpe_retnet#94822873 = NA) OR (Sharpe_retnet#94822873 = null)) THEN null ELSE cast(Sharpe_retnet#94822873 as float) END AS Sharpe_retnet#94823273, CASE WHEN ((PctPos_retnet#94822874 = NA) OR (PctPos_retnet#94822874 = null)) THEN null ELSE cast(PctPos_retnet#94822874 as float) END AS PctPos_retnet#94823274, CASE WHEN (TR_retnet#94822875 = null) THEN null ELSE TR_retnet#94822875 END AS TR_retnet#94823286, CASE WHEN (IR_retnet#94822876 = null) THEN null ELSE IR_retnet#94822876 END AS IR_retnet#94823288, ... 2 more fields] +- FileScan csv [cap#94822853,retIC#94822854,resretIC#94822855,numcos#94822856,numdates#94822857,annual_bmret#94822858,annual_ret#94822859,std_ret#94822860,Sharpe_ret#94822861,PctPos_ret#94822862,TR_ret#94822863,IR_ret#94822864,annual_resret#94822865,std_resret#94822866,Sharpe_resret#94822867,PctPos_resret#94822868,TR_resret#94822869,IR_resret#94822870,annual_retnet#94822871,std_retnet#94822872,Sharpe_retnet#94822873,PctPos_retnet#94822874,TR_retnet#94822875,IR_retnet#94822876,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rank..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (3) InMemoryTableScan Output [2]: [annual_ret#94823221, cap#94823212] Arguments: [annual_ret#94823221, cap#94823212], [isnotnull(cap#94823212), (cap#94823212 = 1.0)] (4) InMemoryRelation Arguments: [cap#94823212, retIC#94823213, resretIC#94823214, numcos#94823215, numdates#94823216, annual_bmret#94823219, annual_ret#94823221, std_ret#94823225, Sharpe_ret#94823229, PctPos_ret#94823232, TR_ret#94823234, IR_ret#94823237, annual_resret#94823239, std_resret#94823242, Sharpe_resret#94823243, PctPos_resret#94823255, TR_resret#94823256, IR_resret#94823258, annual_retnet#94823259, std_retnet#94823272, Sharpe_retnet#94823273, PctPos_retnet#94823274, TR_retnet#94823286, IR_retnet#94823288, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94822853 = NA) OR (cap#94822853 = null)) THEN null ELSE cast(cap#94822853 as float) END AS cap#94823212, CASE WHEN ((retIC#94822854 = NA) OR (retIC#94822854 = null)) THEN null ELSE cast(retIC#94822854 as float) END AS retIC#94823213, CASE WHEN ((resretIC#94822855 = NA) OR (resretIC#94822855 = null)) THEN null ELSE cast(resretIC#94822855 as float) END AS resretIC#94823214, CASE WHEN ((numcos#94822856 = NA) OR (numcos#94822856 = null)) THEN null ELSE cast(numcos#94822856 as float) END AS numcos#94823215, CASE WHEN ((numdates#94822857 = NA) OR (numdates#94822857 = null)) THEN null ELSE cast(numdates#94822857 as int) END AS numdates#94823216, CASE WHEN (annual_bmret#94822858 = null) THEN null ELSE annual_bmret#94822858 END AS annual_bmret#94823219, CASE WHEN ((annual_ret#94822859 = NA) OR (annual_ret#94822859 = null)) THEN null ELSE cast(annual_ret#94822859 as float) END AS annual_ret#94823221, CASE WHEN ((std_ret#94822860 = NA) OR (std_ret#94822860 = null)) THEN null ELSE cast(std_ret#94822860 as float) END AS std_ret#94823225, CASE WHEN ((Sharpe_ret#94822861 = NA) OR (Sharpe_ret#94822861 = null)) THEN null ELSE cast(Sharpe_ret#94822861 as float) END AS Sharpe_ret#94823229, CASE WHEN ((PctPos_ret#94822862 = NA) OR (PctPos_ret#94822862 = null)) THEN null ELSE cast(PctPos_ret#94822862 as float) END AS PctPos_ret#94823232, CASE WHEN (TR_ret#94822863 = null) THEN null ELSE TR_ret#94822863 END AS TR_ret#94823234, CASE WHEN (IR_ret#94822864 = null) THEN null ELSE IR_ret#94822864 END AS IR_ret#94823237, CASE WHEN ((annual_resret#94822865 = NA) OR (annual_resret#94822865 = null)) THEN null ELSE cast(annual_resret#94822865 as float) END AS annual_resret#94823239, CASE WHEN ((std_resret#94822866 = NA) OR (std_resret#94822866 = null)) THEN null ELSE cast(std_resret#94822866 as float) END AS std_resret#94823242, CASE WHEN ((Sharpe_resret#94822867 = NA) OR (Sharpe_resret#94822867 = null)) THEN null ELSE cast(Sharpe_resret#94822867 as float) END AS Sharpe_resret#94823243, CASE WHEN ((PctPos_resret#94822868 = NA) OR (PctPos_resret#94822868 = null)) THEN null ELSE cast(PctPos_resret#94822868 as float) END AS PctPos_resret#94823255, CASE WHEN (TR_resret#94822869 = null) THEN null ELSE TR_resret#94822869 END AS TR_resret#94823256, CASE WHEN (IR_resret#94822870 = null) THEN null ELSE IR_resret#94822870 END AS IR_resret#94823258, CASE WHEN ((annual_retnet#94822871 = NA) OR (annual_retnet#94822871 = null)) THEN null ELSE cast(annual_retnet#94822871 as float) END AS annual_retnet#94823259, CASE WHEN ((std_retnet#94822872 = NA) OR (std_retnet#94822872 = null)) THEN null ELSE cast(std_retnet#94822872 as float) END AS std_retnet#94823272, CASE WHEN ((Sharpe_retnet#94822873 = NA) OR (Sharpe_retnet#94822873 = null)) THEN null ELSE cast(Sharpe_retnet#94822873 as float) END AS Sharpe_retnet#94823273, CASE WHEN ((PctPos_retnet#94822874 = NA) OR (PctPos_retnet#94822874 = null)) THEN null ELSE cast(PctPos_retnet#94822874 as float) END AS PctPos_retnet#94823274, CASE WHEN (TR_retnet#94822875 = null) THEN null ELSE TR_retnet#94822875 END AS TR_retnet#94823286, CASE WHEN (IR_retnet#94822876 = null) THEN null ELSE IR_retnet#94822876 END AS IR_retnet#94823288, ... 2 more fields] +- FileScan csv [cap#94822853,retIC#94822854,resretIC#94822855,numcos#94822856,numdates#94822857,annual_bmret#94822858,annual_ret#94822859,std_ret#94822860,Sharpe_ret#94822861,PctPos_ret#94822862,TR_ret#94822863,IR_ret#94822864,annual_resret#94822865,std_resret#94822866,Sharpe_resret#94822867,PctPos_resret#94822868,TR_resret#94822869,IR_resret#94822870,annual_retnet#94822871,std_retnet#94822872,Sharpe_retnet#94822873,PctPos_retnet#94822874,TR_retnet#94822875,IR_retnet#94822876,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rank..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (5) Scan csv Output [26]: [cap#94822853, retIC#94822854, resretIC#94822855, numcos#94822856, numdates#94822857, annual_bmret#94822858, annual_ret#94822859, std_ret#94822860, Sharpe_ret#94822861, PctPos_ret#94822862, TR_ret#94822863, IR_ret#94822864, annual_resret#94822865, std_resret#94822866, Sharpe_resret#94822867, PctPos_resret#94822868, TR_resret#94822869, IR_resret#94822870, annual_retnet#94822871, std_retnet#94822872, Sharpe_retnet#94822873, PctPos_retnet#94822874, TR_retnet#94822875, IR_retnet#94822876, turnover#94822877, coverage#94822878] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rankviews/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#94822853 = NA) OR (cap#94822853 = null)) THEN null ELSE cast(cap#94822853 as float) END AS cap#94823212, CASE WHEN ((retIC#94822854 = NA) OR (retIC#94822854 = null)) THEN null ELSE cast(retIC#94822854 as float) END AS retIC#94823213, CASE WHEN ((resretIC#94822855 = NA) OR (resretIC#94822855 = null)) THEN null ELSE cast(resretIC#94822855 as float) END AS resretIC#94823214, CASE WHEN ((numcos#94822856 = NA) OR (numcos#94822856 = null)) THEN null ELSE cast(numcos#94822856 as float) END AS numcos#94823215, CASE WHEN ((numdates#94822857 = NA) OR (numdates#94822857 = null)) THEN null ELSE cast(numdates#94822857 as int) END AS numdates#94823216, CASE WHEN (annual_bmret#94822858 = null) THEN null ELSE annual_bmret#94822858 END AS annual_bmret#94823219, CASE WHEN ((annual_ret#94822859 = NA) OR (annual_ret#94822859 = null)) THEN null ELSE cast(annual_ret#94822859 as float) END AS annual_ret#94823221, CASE WHEN ((std_ret#94822860 = NA) OR (std_ret#94822860 = null)) THEN null ELSE cast(std_ret#94822860 as float) END AS std_ret#94823225, CASE WHEN ((Sharpe_ret#94822861 = NA) OR (Sharpe_ret#94822861 = null)) THEN null ELSE cast(Sharpe_ret#94822861 as float) END AS Sharpe_ret#94823229, CASE WHEN ((PctPos_ret#94822862 = NA) OR (PctPos_ret#94822862 = null)) THEN null ELSE cast(PctPos_ret#94822862 as float) END AS PctPos_ret#94823232, CASE WHEN (TR_ret#94822863 = null) THEN null ELSE TR_ret#94822863 END AS TR_ret#94823234, CASE WHEN (IR_ret#94822864 = null) THEN null ELSE IR_ret#94822864 END AS IR_ret#94823237, CASE WHEN ((annual_resret#94822865 = NA) OR (annual_resret#94822865 = null)) THEN null ELSE cast(annual_resret#94822865 as float) END AS annual_resret#94823239, CASE WHEN ((std_resret#94822866 = NA) OR (std_resret#94822866 = null)) THEN null ELSE cast(std_resret#94822866 as float) END AS std_resret#94823242, CASE WHEN ((Sharpe_resret#94822867 = NA) OR (Sharpe_resret#94822867 = null)) THEN null ELSE cast(Sharpe_resret#94822867 as float) END AS Sharpe_resret#94823243, CASE WHEN ((PctPos_resret#94822868 = NA) OR (PctPos_resret#94822868 = null)) THEN null ELSE cast(PctPos_resret#94822868 as float) END AS PctPos_resret#94823255, CASE WHEN (TR_resret#94822869 = null) THEN null ELSE TR_resret#94822869 END AS TR_resret#94823256, CASE WHEN (IR_resret#94822870 = null) THEN null ELSE IR_resret#94822870 END AS IR_resret#94823258, CASE WHEN ((annual_retnet#94822871 = NA) OR (annual_retnet#94822871 = null)) THEN null ELSE cast(annual_retnet#94822871 as float) END AS annual_retnet#94823259, CASE WHEN ((std_retnet#94822872 = NA) OR (std_retnet#94822872 = null)) THEN null ELSE cast(std_retnet#94822872 as float) END AS std_retnet#94823272, CASE WHEN ((Sharpe_retnet#94822873 = NA) OR (Sharpe_retnet#94822873 = null)) THEN null ELSE cast(Sharpe_retnet#94822873 as float) END AS Sharpe_retnet#94823273, CASE WHEN ((PctPos_retnet#94822874 = NA) OR (PctPos_retnet#94822874 = null)) THEN null ELSE cast(PctPos_retnet#94822874 as float) END AS PctPos_retnet#94823274, CASE WHEN (TR_retnet#94822875 = null) THEN null ELSE TR_retnet#94822875 END AS TR_retnet#94823286, CASE WHEN (IR_retnet#94822876 = null) THEN null ELSE IR_retnet#94822876 END AS IR_retnet#94823288, CASE WHEN ((turnover#94822877 = NA) OR (turnover#94822877 = null)) THEN null ELSE cast(turnover#94822877 as float) END AS turnover#94823289, CASE WHEN ((coverage#94822878 = NA) OR (coverage#94822878 = null)) THEN null ELSE cast(coverage#94822878 as float) END AS coverage#94823290] Input [26]: [cap#94822853, retIC#94822854, resretIC#94822855, numcos#94822856, numdates#94822857, annual_bmret#94822858, annual_ret#94822859, std_ret#94822860, Sharpe_ret#94822861, PctPos_ret#94822862, TR_ret#94822863, IR_ret#94822864, annual_resret#94822865, std_resret#94822866, Sharpe_resret#94822867, PctPos_resret#94822868, TR_resret#94822869, IR_resret#94822870, annual_retnet#94822871, std_retnet#94822872, Sharpe_retnet#94822873, PctPos_retnet#94822874, TR_retnet#94822875, IR_retnet#94822876, turnover#94822877, coverage#94822878] (7) Filter [codegen id : 2] Input [2]: [annual_ret#94823221, cap#94823212] Condition : (isnotnull(cap#94823212) AND (cap#94823212 = 1.0)) (8) Project [codegen id : 2] Output [1]: [annual_ret#94823221 AS ret_large#94826328] Input [2]: [annual_ret#94823221, cap#94823212] (9) InMemoryTableScan Output [2]: [annual_ret#94823221, cap#94823212] Arguments: [annual_ret#94823221, cap#94823212], [isnotnull(cap#94823212), (cap#94823212 = 3.0)] (10) InMemoryRelation Arguments: [cap#94823212, retIC#94823213, resretIC#94823214, numcos#94823215, numdates#94823216, annual_bmret#94823219, annual_ret#94823221, std_ret#94823225, Sharpe_ret#94823229, PctPos_ret#94823232, TR_ret#94823234, IR_ret#94823237, annual_resret#94823239, std_resret#94823242, Sharpe_resret#94823243, PctPos_resret#94823255, TR_resret#94823256, IR_resret#94823258, annual_retnet#94823259, std_retnet#94823272, Sharpe_retnet#94823273, PctPos_retnet#94823274, TR_retnet#94823286, IR_retnet#94823288, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94822853 = NA) OR (cap#94822853 = null)) THEN null ELSE cast(cap#94822853 as float) END AS cap#94823212, CASE WHEN ((retIC#94822854 = NA) OR (retIC#94822854 = null)) THEN null ELSE cast(retIC#94822854 as float) END AS retIC#94823213, CASE WHEN ((resretIC#94822855 = NA) OR (resretIC#94822855 = null)) THEN null ELSE cast(resretIC#94822855 as float) END AS resretIC#94823214, CASE WHEN ((numcos#94822856 = NA) OR (numcos#94822856 = null)) THEN null ELSE cast(numcos#94822856 as float) END AS numcos#94823215, CASE WHEN ((numdates#94822857 = NA) OR (numdates#94822857 = null)) THEN null ELSE cast(numdates#94822857 as int) END AS numdates#94823216, CASE WHEN (annual_bmret#94822858 = null) THEN null ELSE annual_bmret#94822858 END AS annual_bmret#94823219, CASE WHEN ((annual_ret#94822859 = NA) OR (annual_ret#94822859 = null)) THEN null ELSE cast(annual_ret#94822859 as float) END AS annual_ret#94823221, CASE WHEN ((std_ret#94822860 = NA) OR (std_ret#94822860 = null)) THEN null ELSE cast(std_ret#94822860 as float) END AS std_ret#94823225, CASE WHEN ((Sharpe_ret#94822861 = NA) OR (Sharpe_ret#94822861 = null)) THEN null ELSE cast(Sharpe_ret#94822861 as float) END AS Sharpe_ret#94823229, CASE WHEN ((PctPos_ret#94822862 = NA) OR (PctPos_ret#94822862 = null)) THEN null ELSE cast(PctPos_ret#94822862 as float) END AS PctPos_ret#94823232, CASE WHEN (TR_ret#94822863 = null) THEN null ELSE TR_ret#94822863 END AS TR_ret#94823234, CASE WHEN (IR_ret#94822864 = null) THEN null ELSE IR_ret#94822864 END AS IR_ret#94823237, CASE WHEN ((annual_resret#94822865 = NA) OR (annual_resret#94822865 = null)) THEN null ELSE cast(annual_resret#94822865 as float) END AS annual_resret#94823239, CASE WHEN ((std_resret#94822866 = NA) OR (std_resret#94822866 = null)) THEN null ELSE cast(std_resret#94822866 as float) END AS std_resret#94823242, CASE WHEN ((Sharpe_resret#94822867 = NA) OR (Sharpe_resret#94822867 = null)) THEN null ELSE cast(Sharpe_resret#94822867 as float) END AS Sharpe_resret#94823243, CASE WHEN ((PctPos_resret#94822868 = NA) OR (PctPos_resret#94822868 = null)) THEN null ELSE cast(PctPos_resret#94822868 as float) END AS PctPos_resret#94823255, CASE WHEN (TR_resret#94822869 = null) THEN null ELSE TR_resret#94822869 END AS TR_resret#94823256, CASE WHEN (IR_resret#94822870 = null) THEN null ELSE IR_resret#94822870 END AS IR_resret#94823258, CASE WHEN ((annual_retnet#94822871 = NA) OR (annual_retnet#94822871 = null)) THEN null ELSE cast(annual_retnet#94822871 as float) END AS annual_retnet#94823259, CASE WHEN ((std_retnet#94822872 = NA) OR (std_retnet#94822872 = null)) THEN null ELSE cast(std_retnet#94822872 as float) END AS std_retnet#94823272, CASE WHEN ((Sharpe_retnet#94822873 = NA) OR (Sharpe_retnet#94822873 = null)) THEN null ELSE cast(Sharpe_retnet#94822873 as float) END AS Sharpe_retnet#94823273, CASE WHEN ((PctPos_retnet#94822874 = NA) OR (PctPos_retnet#94822874 = null)) THEN null ELSE cast(PctPos_retnet#94822874 as float) END AS PctPos_retnet#94823274, CASE WHEN (TR_retnet#94822875 = null) THEN null ELSE TR_retnet#94822875 END AS TR_retnet#94823286, CASE WHEN (IR_retnet#94822876 = null) THEN null ELSE IR_retnet#94822876 END AS IR_retnet#94823288, ... 2 more fields] +- FileScan csv [cap#94822853,retIC#94822854,resretIC#94822855,numcos#94822856,numdates#94822857,annual_bmret#94822858,annual_ret#94822859,std_ret#94822860,Sharpe_ret#94822861,PctPos_ret#94822862,TR_ret#94822863,IR_ret#94822864,annual_resret#94822865,std_resret#94822866,Sharpe_resret#94822867,PctPos_resret#94822868,TR_resret#94822869,IR_resret#94822870,annual_retnet#94822871,std_retnet#94822872,Sharpe_retnet#94822873,PctPos_retnet#94822874,TR_retnet#94822875,IR_retnet#94822876,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rank..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (11) Filter [codegen id : 1] Input [2]: [annual_ret#94823221, cap#94823212] Condition : (isnotnull(cap#94823212) AND (cap#94823212 = 3.0)) (12) Project [codegen id : 1] Output [1]: [annual_ret#94823221 AS ret_small#94826413] Input [2]: [annual_ret#94823221, cap#94823212] (13) BroadcastExchange Input [1]: [ret_small#94826413] Arguments: IdentityBroadcastMode, [id=#7570823] (14) BroadcastNestedLoopJoin [codegen id : 2] Join condition: None (15) Project [codegen id : 2] Output [3]: [ret_large#94826328, ret_small#94826413, (ret_large#94826328 - ret_small#94826413) AS differential#94826447] Input [2]: [ret_large#94826328, ret_small#94826413] (16) ColumnarToRow [codegen id : 1] Input [3]: [ret_large#94826328, ret_small#94826413, differential#94826447] (17) CollectLimit Input [3]: [ret_large#94826328, ret_small#94826413, differential#94826447] Arguments: 1000000