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]
Project [CASE WHEN ((cap#94694007 = NA) OR (cap#94694007 = null)) THEN null ELSE cast(cap#94694007 as int) END AS cap#94694039, CASE WHEN (sort#94694010 = null) THEN null ELSE sort#94694010 END AS sort#94694042, CASE WHEN (description#94694012 = null) THEN null ELSE description#94694012 END AS description#94694044, CASE WHEN ((universe#94694014 = NA) OR (universe#94694014 = null)) THEN null ELSE cast(universe#94694014 as int) END AS universe#94694045]
== Physical Plan ==
CollectLimit (20)
+- InMemoryTableScan (1)
+- InMemoryRelation (2)
+- * Project (19)
+- * Sort (18)
+- Exchange (17)
+- * Project (16)
+- * BroadcastHashJoin Inner BuildLeft (15)
:- BroadcastExchange (8)
: +- * Filter (7)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- * Project (6)
: +- Scan csv (5)
+- * Project (14)
+- * Filter (13)
+- InMemoryTableScan (9)
+- InMemoryRelation (10)
+- * Project (12)
+- Scan csv (11)
(1) InMemoryTableScan
Output [3]: [cap#94826385, turnover#94823289, days_hold#94826414]
Arguments: [cap#94826385, turnover#94823289, days_hold#94826414]
(2) InMemoryRelation
Arguments: [cap#94826385, turnover#94823289, days_hold#94826414], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(3) Project [cap#94826385, turnover#94823289, (1.0 / cast(turnover#94823289 as double)) AS days_hold#94826414]
+- *(3) Sort [cap_sort#94826324 ASC NULLS FIRST], true, 0
+- Exchange rangepartitioning(cap_sort#94826324 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7570765]
+- *(2) Project [turnover#94823289, cap_description#94826323 AS cap#94826385, cap_sort#94826324]
+- *(2) BroadcastHashJoin [knownfloatingpointnormalized(normalizenanandzero(cap#94823212))], [knownfloatingpointnormalized(normalizenanandzero(cast(cap#94694039 as float)))], Inner, BuildLeft, false
:- BroadcastExchange HashedRelationBroadcastMode(List(knownfloatingpointnormalized(normalizenanandzero(input[0, float, false]))),false), [id=#7570757]
: +- *(1) Filter isnotnull(cap#94823212)
: +- InMemoryTableScan [cap#94823212, turnover#94823289], [isnotnull(cap#94823212)]
: +- 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,...
+- *(2) Project [cap#94694039, description#94694044 AS cap_description#94826323, sort#94694042 AS cap_sort#94826324]
+- *(2) Filter isnotnull(cap#94694039)
+- InMemoryTableScan [cap#94694039, description#94694044, sort#94694042], [isnotnull(cap#94694039)]
+- InMemoryRelation [cap#94694039, sort#94694042, description#94694044, universe#94694045], StorageLevel(disk, memory, deserialized, 1 replicas)
+- *(1) Project [CASE WHEN ((cap#94694007 = NA) OR (cap#94694007 = null)) THEN null ELSE cast(cap#94694007 as int) END AS cap#94694039, CASE WHEN (sort#94694010 = null) THEN null ELSE sort#94694010 END AS sort#94694042, CASE WHEN (description#94694012 = null) THEN null ELSE description#94694012 END AS description#94694044, CASE WHEN ((universe#94694014 = NA) OR (universe#94694014 = null)) THEN null ELSE cast(universe#94694014 as int) END AS universe#94694045]
+- FileScan csv [cap#94694007,sort#94694010,description#94694012,universe#94694014] 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#94826324 ASC NULLS FIRST]
(3) InMemoryTableScan
Output [2]: [cap#94823212, turnover#94823289]
Arguments: [cap#94823212, turnover#94823289], [isnotnull(cap#94823212)]
(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 : 1]
Input [2]: [cap#94823212, turnover#94823289]
Condition : isnotnull(cap#94823212)
(8) BroadcastExchange
Input [2]: [cap#94823212, turnover#94823289]
Arguments: HashedRelationBroadcastMode(List(knownfloatingpointnormalized(normalizenanandzero(input[0, float, false]))),false), [id=#7570757]
(9) InMemoryTableScan
Output [3]: [cap#94694039, description#94694044, sort#94694042]
Arguments: [cap#94694039, description#94694044, sort#94694042], [isnotnull(cap#94694039)]
(10) InMemoryRelation
Arguments: [cap#94694039, sort#94694042, description#94694044, universe#94694045], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94694007 = NA) OR (cap#94694007 = null)) THEN null ELSE cast(cap#94694007 as int) END AS cap#94694039, CASE WHEN (sort#94694010 = null) THEN null ELSE sort#94694010 END AS sort#94694042, CASE WHEN (description#94694012 = null) THEN null ELSE description#94694012 END AS description#94694044, CASE WHEN ((universe#94694014 = NA) OR (universe#94694014 = null)) THEN null ELSE cast(universe#94694014 as int) END AS universe#94694045]
+- FileScan csv [cap#94694007,sort#94694010,description#94694012,universe#94694014] 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)
(11) Scan csv
Output [4]: [cap#94694007, sort#94694010, description#94694012, universe#94694014]
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>
(12) Project [codegen id : 1]
Output [4]: [CASE WHEN ((cap#94694007 = NA) OR (cap#94694007 = null)) THEN null ELSE cast(cap#94694007 as int) END AS cap#94694039, CASE WHEN (sort#94694010 = null) THEN null ELSE sort#94694010 END AS sort#94694042, CASE WHEN (description#94694012 = null) THEN null ELSE description#94694012 END AS description#94694044, CASE WHEN ((universe#94694014 = NA) OR (universe#94694014 = null)) THEN null ELSE cast(universe#94694014 as int) END AS universe#94694045]
Input [4]: [cap#94694007, sort#94694010, description#94694012, universe#94694014]
(13) Filter
Input [3]: [cap#94694039, description#94694044, sort#94694042]
Condition : isnotnull(cap#94694039)
(14) Project
Output [3]: [cap#94694039, description#94694044 AS cap_description#94826323, sort#94694042 AS cap_sort#94826324]
Input [3]: [cap#94694039, description#94694044, sort#94694042]
(15) BroadcastHashJoin [codegen id : 2]
Left keys [1]: [knownfloatingpointnormalized(normalizenanandzero(cap#94823212))]
Right keys [1]: [knownfloatingpointnormalized(normalizenanandzero(cast(cap#94694039 as float)))]
Join condition: None
(16) Project [codegen id : 2]
Output [3]: [turnover#94823289, cap_description#94826323 AS cap#94826385, cap_sort#94826324]
Input [5]: [cap#94823212, turnover#94823289, cap#94694039, cap_description#94826323, cap_sort#94826324]
(17) Exchange
Input [3]: [turnover#94823289, cap#94826385, cap_sort#94826324]
Arguments: rangepartitioning(cap_sort#94826324 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7570765]
(18) Sort [codegen id : 3]
Input [3]: [turnover#94823289, cap#94826385, cap_sort#94826324]
Arguments: [cap_sort#94826324 ASC NULLS FIRST], true, 0
(19) Project [codegen id : 3]
Output [3]: [cap#94826385, turnover#94823289, (1.0 / cast(turnover#94823289 as double)) AS days_hold#94826414]
Input [3]: [turnover#94823289, cap#94826385, cap_sort#94826324]
(20) CollectLimit
Input [3]: [cap#94826385, turnover#94823289, days_hold#94826414]
Arguments: 1000000