== 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#94328105, ret_small#94328107, differential#94328220] Arguments: [ret_large#94328105, ret_small#94328107, differential#94328220] (2) InMemoryRelation Arguments: [ret_large#94328105, ret_small#94328107, differential#94328220], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(2) Project [ret_large#94328105, ret_small#94328107, (ret_large#94328105 - ret_small#94328107) AS differential#94328220] +- *(2) BroadcastNestedLoopJoin BuildRight, Cross :- *(2) Project [annual_ret#94324984 AS ret_large#94328105] : +- *(2) Filter (isnotnull(cap#94324901) AND (cap#94324901 = 1.0)) : +- *(2) ColumnarToRow : +- InMemoryTableScan [annual_ret#94324984, cap#94324901], [isnotnull(cap#94324901), (cap#94324901 = 1.0)] : +- InMemoryRelation [cap#94324901, retIC#94324914, resretIC#94324916, numcos#94324920, numdates#94324922, annual_bmret#94324925, annual_ret#94324984, std_ret#94324987, Sharpe_ret#94324989, PctPos_ret#94325003, TR_ret#94325095, IR_ret#94325159, annual_resret#94325161, std_resret#94325162, Sharpe_resret#94325163, PctPos_resret#94325164, TR_resret#94325165, IR_resret#94325166, annual_retnet#94325167, std_retnet#94325168, Sharpe_retnet#94325169, PctPos_retnet#94325170, TR_retnet#94325171, IR_retnet#94325172, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) : +- *(1) Project [CASE WHEN ((cap#94324657 = NA) OR (cap#94324657 = null)) THEN null ELSE cast(cap#94324657 as float) END AS cap#94324901, CASE WHEN ((retIC#94324658 = NA) OR (retIC#94324658 = null)) THEN null ELSE cast(retIC#94324658 as float) END AS retIC#94324914, CASE WHEN ((resretIC#94324659 = NA) OR (resretIC#94324659 = null)) THEN null ELSE cast(resretIC#94324659 as float) END AS resretIC#94324916, CASE WHEN ((numcos#94324660 = NA) OR (numcos#94324660 = null)) THEN null ELSE cast(numcos#94324660 as float) END AS numcos#94324920, CASE WHEN ((numdates#94324661 = NA) OR (numdates#94324661 = null)) THEN null ELSE cast(numdates#94324661 as float) END AS numdates#94324922, CASE WHEN ((annual_bmret#94324662 = NA) OR (annual_bmret#94324662 = null)) THEN null ELSE cast(annual_bmret#94324662 as float) END AS annual_bmret#94324925, CASE WHEN ((annual_ret#94324663 = NA) OR (annual_ret#94324663 = null)) THEN null ELSE cast(annual_ret#94324663 as float) END AS annual_ret#94324984, CASE WHEN ((std_ret#94324664 = NA) OR (std_ret#94324664 = null)) THEN null ELSE cast(std_ret#94324664 as float) END AS std_ret#94324987, CASE WHEN ((Sharpe_ret#94324665 = NA) OR (Sharpe_ret#94324665 = null)) THEN null ELSE cast(Sharpe_ret#94324665 as float) END AS Sharpe_ret#94324989, CASE WHEN ((PctPos_ret#94324666 = NA) OR (PctPos_ret#94324666 = null)) THEN null ELSE cast(PctPos_ret#94324666 as float) END AS PctPos_ret#94325003, CASE WHEN ((TR_ret#94324667 = NA) OR (TR_ret#94324667 = null)) THEN null ELSE cast(TR_ret#94324667 as float) END AS TR_ret#94325095, CASE WHEN ((IR_ret#94324668 = NA) OR (IR_ret#94324668 = null)) THEN null ELSE cast(IR_ret#94324668 as float) END AS IR_ret#94325159, CASE WHEN ((annual_resret#94324669 = NA) OR (annual_resret#94324669 = null)) THEN null ELSE cast(annual_resret#94324669 as float) END AS annual_resret#94325161, CASE WHEN ((std_resret#94324670 = NA) OR (std_resret#94324670 = null)) THEN null ELSE cast(std_resret#94324670 as float) END AS std_resret#94325162, CASE WHEN ((Sharpe_resret#94324671 = NA) OR (Sharpe_resret#94324671 = null)) THEN null ELSE cast(Sharpe_resret#94324671 as float) END AS Sharpe_resret#94325163, CASE WHEN ((PctPos_resret#94324672 = NA) OR (PctPos_resret#94324672 = null)) THEN null ELSE cast(PctPos_resret#94324672 as float) END AS PctPos_resret#94325164, CASE WHEN ((TR_resret#94324673 = NA) OR (TR_resret#94324673 = null)) THEN null ELSE cast(TR_resret#94324673 as float) END AS TR_resret#94325165, CASE WHEN ((IR_resret#94324674 = NA) OR (IR_resret#94324674 = null)) THEN null ELSE cast(IR_resret#94324674 as float) END AS IR_resret#94325166, CASE WHEN ((annual_retnet#94324675 = NA) OR (annual_retnet#94324675 = null)) THEN null ELSE cast(annual_retnet#94324675 as float) END AS annual_retnet#94325167, CASE WHEN ((std_retnet#94324676 = NA) OR (std_retnet#94324676 = null)) THEN null ELSE cast(std_retnet#94324676 as float) END AS std_retnet#94325168, CASE WHEN ((Sharpe_retnet#94324677 = NA) OR (Sharpe_retnet#94324677 = null)) THEN null ELSE cast(Sharpe_retnet#94324677 as float) END AS Sharpe_retnet#94325169, CASE WHEN ((PctPos_retnet#94324678 = NA) OR (PctPos_retnet#94324678 = null)) THEN null ELSE cast(PctPos_retnet#94324678 as float) END AS PctPos_retnet#94325170, CASE WHEN ((TR_retnet#94324679 = NA) OR (TR_retnet#94324679 = null)) THEN null ELSE cast(TR_retnet#94324679 as float) END AS TR_retnet#94325171, CASE WHEN ((IR_retnet#94324680 = NA) OR (IR_retnet#94324680 = null)) THEN null ELSE cast(IR_retnet#94324680 as float) END AS IR_retnet#94325172, ... 2 more fields] : +- FileScan csv [cap#94324657,retIC#94324658,resretIC#94324659,numcos#94324660,numdates#94324661,annual_bmret#94324662,annual_ret#94324663,std_ret#94324664,Sharpe_ret#94324665,PctPos_ret#94324666,TR_ret#94324667,IR_ret#94324668,annual_resret#94324669,std_resret#94324670,Sharpe_resret#94324671,PctPos_resret#94324672,TR_resret#94324673,IR_resret#94324674,annual_retnet#94324675,std_retnet#94324676,Sharpe_retnet#94324677,PctPos_retnet#94324678,TR_retnet#94324679,IR_retnet#94324680,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/estimize_signal_histor..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... +- BroadcastExchange IdentityBroadcastMode, [id=#7531480] +- *(1) Project [annual_ret#94324984 AS ret_small#94328107] +- *(1) Filter (isnotnull(cap#94324901) AND (cap#94324901 = 3.0)) +- *(1) ColumnarToRow +- InMemoryTableScan [annual_ret#94324984, cap#94324901], [isnotnull(cap#94324901), (cap#94324901 = 3.0)] +- InMemoryRelation [cap#94324901, retIC#94324914, resretIC#94324916, numcos#94324920, numdates#94324922, annual_bmret#94324925, annual_ret#94324984, std_ret#94324987, Sharpe_ret#94324989, PctPos_ret#94325003, TR_ret#94325095, IR_ret#94325159, annual_resret#94325161, std_resret#94325162, Sharpe_resret#94325163, PctPos_resret#94325164, TR_resret#94325165, IR_resret#94325166, annual_retnet#94325167, std_retnet#94325168, Sharpe_retnet#94325169, PctPos_retnet#94325170, TR_retnet#94325171, IR_retnet#94325172, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) +- *(1) Project [CASE WHEN ((cap#94324657 = NA) OR (cap#94324657 = null)) THEN null ELSE cast(cap#94324657 as float) END AS cap#94324901, CASE WHEN ((retIC#94324658 = NA) OR (retIC#94324658 = null)) THEN null ELSE cast(retIC#94324658 as float) END AS retIC#94324914, CASE WHEN ((resretIC#94324659 = NA) OR (resretIC#94324659 = null)) THEN null ELSE cast(resretIC#94324659 as float) END AS resretIC#94324916, CASE WHEN ((numcos#94324660 = NA) OR (numcos#94324660 = null)) THEN null ELSE cast(numcos#94324660 as float) END AS numcos#94324920, CASE WHEN ((numdates#94324661 = NA) OR (numdates#94324661 = null)) THEN null ELSE cast(numdates#94324661 as float) END AS numdates#94324922, CASE WHEN ((annual_bmret#94324662 = NA) OR (annual_bmret#94324662 = null)) THEN null ELSE cast(annual_bmret#94324662 as float) END AS annual_bmret#94324925, CASE WHEN ((annual_ret#94324663 = NA) OR (annual_ret#94324663 = null)) THEN null ELSE cast(annual_ret#94324663 as float) END AS annual_ret#94324984, CASE WHEN ((std_ret#94324664 = NA) OR (std_ret#94324664 = null)) THEN null ELSE cast(std_ret#94324664 as float) END AS std_ret#94324987, CASE WHEN ((Sharpe_ret#94324665 = NA) OR (Sharpe_ret#94324665 = null)) THEN null ELSE cast(Sharpe_ret#94324665 as float) END AS Sharpe_ret#94324989, CASE WHEN ((PctPos_ret#94324666 = NA) OR (PctPos_ret#94324666 = null)) THEN null ELSE cast(PctPos_ret#94324666 as float) END AS PctPos_ret#94325003, CASE WHEN ((TR_ret#94324667 = NA) OR (TR_ret#94324667 = null)) THEN null ELSE cast(TR_ret#94324667 as float) END AS TR_ret#94325095, CASE WHEN ((IR_ret#94324668 = NA) OR (IR_ret#94324668 = null)) THEN null ELSE cast(IR_ret#94324668 as float) END AS IR_ret#94325159, CASE WHEN ((annual_resret#94324669 = NA) OR (annual_resret#94324669 = null)) THEN null ELSE cast(annual_resret#94324669 as float) END AS annual_resret#94325161, CASE WHEN ((std_resret#94324670 = NA) OR (std_resret#94324670 = null)) THEN null ELSE cast(std_resret#94324670 as float) END AS std_resret#94325162, CASE WHEN ((Sharpe_resret#94324671 = NA) OR (Sharpe_resret#94324671 = null)) THEN null ELSE cast(Sharpe_resret#94324671 as float) END AS Sharpe_resret#94325163, CASE WHEN ((PctPos_resret#94324672 = NA) OR (PctPos_resret#94324672 = null)) THEN null ELSE cast(PctPos_resret#94324672 as float) END AS PctPos_resret#94325164, CASE WHEN ((TR_resret#94324673 = NA) OR (TR_resret#94324673 = null)) THEN null ELSE cast(TR_resret#94324673 as float) END AS TR_resret#94325165, CASE WHEN ((IR_resret#94324674 = NA) OR (IR_resret#94324674 = null)) THEN null ELSE cast(IR_resret#94324674 as float) END AS IR_resret#94325166, CASE WHEN ((annual_retnet#94324675 = NA) OR (annual_retnet#94324675 = null)) THEN null ELSE cast(annual_retnet#94324675 as float) END AS annual_retnet#94325167, CASE WHEN ((std_retnet#94324676 = NA) OR (std_retnet#94324676 = null)) THEN null ELSE cast(std_retnet#94324676 as float) END AS std_retnet#94325168, CASE WHEN ((Sharpe_retnet#94324677 = NA) OR (Sharpe_retnet#94324677 = null)) THEN null ELSE cast(Sharpe_retnet#94324677 as float) END AS Sharpe_retnet#94325169, CASE WHEN ((PctPos_retnet#94324678 = NA) OR (PctPos_retnet#94324678 = null)) THEN null ELSE cast(PctPos_retnet#94324678 as float) END AS PctPos_retnet#94325170, CASE WHEN ((TR_retnet#94324679 = NA) OR (TR_retnet#94324679 = null)) THEN null ELSE cast(TR_retnet#94324679 as float) END AS TR_retnet#94325171, CASE WHEN ((IR_retnet#94324680 = NA) OR (IR_retnet#94324680 = null)) THEN null ELSE cast(IR_retnet#94324680 as float) END AS IR_retnet#94325172, ... 2 more fields] +- FileScan csv [cap#94324657,retIC#94324658,resretIC#94324659,numcos#94324660,numdates#94324661,annual_bmret#94324662,annual_ret#94324663,std_ret#94324664,Sharpe_ret#94324665,PctPos_ret#94324666,TR_ret#94324667,IR_ret#94324668,annual_resret#94324669,std_resret#94324670,Sharpe_resret#94324671,PctPos_resret#94324672,TR_resret#94324673,IR_resret#94324674,annual_retnet#94324675,std_retnet#94324676,Sharpe_retnet#94324677,PctPos_retnet#94324678,TR_retnet#94324679,IR_retnet#94324680,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/estimize_signal_histor..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (3) InMemoryTableScan Output [2]: [annual_ret#94324984, cap#94324901] Arguments: [annual_ret#94324984, cap#94324901], [isnotnull(cap#94324901), (cap#94324901 = 1.0)] (4) InMemoryRelation Arguments: [cap#94324901, retIC#94324914, resretIC#94324916, numcos#94324920, numdates#94324922, annual_bmret#94324925, annual_ret#94324984, std_ret#94324987, Sharpe_ret#94324989, PctPos_ret#94325003, TR_ret#94325095, IR_ret#94325159, annual_resret#94325161, std_resret#94325162, Sharpe_resret#94325163, PctPos_resret#94325164, TR_resret#94325165, IR_resret#94325166, annual_retnet#94325167, std_retnet#94325168, Sharpe_retnet#94325169, PctPos_retnet#94325170, TR_retnet#94325171, IR_retnet#94325172, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94324657 = NA) OR (cap#94324657 = null)) THEN null ELSE cast(cap#94324657 as float) END AS cap#94324901, CASE WHEN ((retIC#94324658 = NA) OR (retIC#94324658 = null)) THEN null ELSE cast(retIC#94324658 as float) END AS retIC#94324914, CASE WHEN ((resretIC#94324659 = NA) OR (resretIC#94324659 = null)) THEN null ELSE cast(resretIC#94324659 as float) END AS resretIC#94324916, CASE WHEN ((numcos#94324660 = NA) OR (numcos#94324660 = null)) THEN null ELSE cast(numcos#94324660 as float) END AS numcos#94324920, CASE WHEN ((numdates#94324661 = NA) OR (numdates#94324661 = null)) THEN null ELSE cast(numdates#94324661 as float) END AS numdates#94324922, CASE WHEN ((annual_bmret#94324662 = NA) OR (annual_bmret#94324662 = null)) THEN null ELSE cast(annual_bmret#94324662 as float) END AS annual_bmret#94324925, CASE WHEN ((annual_ret#94324663 = NA) OR (annual_ret#94324663 = null)) THEN null ELSE cast(annual_ret#94324663 as float) END AS annual_ret#94324984, CASE WHEN ((std_ret#94324664 = NA) OR (std_ret#94324664 = null)) THEN null ELSE cast(std_ret#94324664 as float) END AS std_ret#94324987, CASE WHEN ((Sharpe_ret#94324665 = NA) OR (Sharpe_ret#94324665 = null)) THEN null ELSE cast(Sharpe_ret#94324665 as float) END AS Sharpe_ret#94324989, CASE WHEN ((PctPos_ret#94324666 = NA) OR (PctPos_ret#94324666 = null)) THEN null ELSE cast(PctPos_ret#94324666 as float) END AS PctPos_ret#94325003, CASE WHEN ((TR_ret#94324667 = NA) OR (TR_ret#94324667 = null)) THEN null ELSE cast(TR_ret#94324667 as float) END AS TR_ret#94325095, CASE WHEN ((IR_ret#94324668 = NA) OR (IR_ret#94324668 = null)) THEN null ELSE cast(IR_ret#94324668 as float) END AS IR_ret#94325159, CASE WHEN ((annual_resret#94324669 = NA) OR (annual_resret#94324669 = null)) THEN null ELSE cast(annual_resret#94324669 as float) END AS annual_resret#94325161, CASE WHEN ((std_resret#94324670 = NA) OR (std_resret#94324670 = null)) THEN null ELSE cast(std_resret#94324670 as float) END AS std_resret#94325162, CASE WHEN ((Sharpe_resret#94324671 = NA) OR (Sharpe_resret#94324671 = null)) THEN null ELSE cast(Sharpe_resret#94324671 as float) END AS Sharpe_resret#94325163, CASE WHEN ((PctPos_resret#94324672 = NA) OR (PctPos_resret#94324672 = null)) THEN null ELSE cast(PctPos_resret#94324672 as float) END AS PctPos_resret#94325164, CASE WHEN ((TR_resret#94324673 = NA) OR (TR_resret#94324673 = null)) THEN null ELSE cast(TR_resret#94324673 as float) END AS TR_resret#94325165, CASE WHEN ((IR_resret#94324674 = NA) OR (IR_resret#94324674 = null)) THEN null ELSE cast(IR_resret#94324674 as float) END AS IR_resret#94325166, CASE WHEN ((annual_retnet#94324675 = NA) OR (annual_retnet#94324675 = null)) THEN null ELSE cast(annual_retnet#94324675 as float) END AS annual_retnet#94325167, CASE WHEN ((std_retnet#94324676 = NA) OR (std_retnet#94324676 = null)) THEN null ELSE cast(std_retnet#94324676 as float) END AS std_retnet#94325168, CASE WHEN ((Sharpe_retnet#94324677 = NA) OR (Sharpe_retnet#94324677 = null)) THEN null ELSE cast(Sharpe_retnet#94324677 as float) END AS Sharpe_retnet#94325169, CASE WHEN ((PctPos_retnet#94324678 = NA) OR (PctPos_retnet#94324678 = null)) THEN null ELSE cast(PctPos_retnet#94324678 as float) END AS PctPos_retnet#94325170, CASE WHEN ((TR_retnet#94324679 = NA) OR (TR_retnet#94324679 = null)) THEN null ELSE cast(TR_retnet#94324679 as float) END AS TR_retnet#94325171, CASE WHEN ((IR_retnet#94324680 = NA) OR (IR_retnet#94324680 = null)) THEN null ELSE cast(IR_retnet#94324680 as float) END AS IR_retnet#94325172, ... 2 more fields] +- FileScan csv [cap#94324657,retIC#94324658,resretIC#94324659,numcos#94324660,numdates#94324661,annual_bmret#94324662,annual_ret#94324663,std_ret#94324664,Sharpe_ret#94324665,PctPos_ret#94324666,TR_ret#94324667,IR_ret#94324668,annual_resret#94324669,std_resret#94324670,Sharpe_resret#94324671,PctPos_resret#94324672,TR_resret#94324673,IR_resret#94324674,annual_retnet#94324675,std_retnet#94324676,Sharpe_retnet#94324677,PctPos_retnet#94324678,TR_retnet#94324679,IR_retnet#94324680,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/estimize_signal_histor..., PartitionFilters: [], PushedFilters: [], ReadSchema: struct<cap:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:string,... ,None) (5) Scan csv Output [26]: [cap#94324657, retIC#94324658, resretIC#94324659, numcos#94324660, numdates#94324661, annual_bmret#94324662, annual_ret#94324663, std_ret#94324664, Sharpe_ret#94324665, PctPos_ret#94324666, TR_ret#94324667, IR_ret#94324668, annual_resret#94324669, std_resret#94324670, Sharpe_resret#94324671, PctPos_resret#94324672, TR_resret#94324673, IR_resret#94324674, annual_retnet#94324675, std_retnet#94324676, Sharpe_retnet#94324677, PctPos_retnet#94324678, TR_retnet#94324679, IR_retnet#94324680, turnover#94324681, coverage#94324682] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/output/estimize_signal_history/estimizesignal_postearnings/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#94324657 = NA) OR (cap#94324657 = null)) THEN null ELSE cast(cap#94324657 as float) END AS cap#94324901, CASE WHEN ((retIC#94324658 = NA) OR (retIC#94324658 = null)) THEN null ELSE cast(retIC#94324658 as float) END AS retIC#94324914, CASE WHEN ((resretIC#94324659 = NA) OR (resretIC#94324659 = null)) THEN null ELSE cast(resretIC#94324659 as float) END AS resretIC#94324916, CASE WHEN ((numcos#94324660 = NA) OR (numcos#94324660 = null)) THEN null ELSE cast(numcos#94324660 as float) END AS numcos#94324920, CASE WHEN ((numdates#94324661 = NA) OR (numdates#94324661 = null)) THEN null ELSE cast(numdates#94324661 as float) END AS numdates#94324922, CASE WHEN ((annual_bmret#94324662 = NA) OR (annual_bmret#94324662 = null)) THEN null ELSE cast(annual_bmret#94324662 as float) END AS annual_bmret#94324925, CASE WHEN ((annual_ret#94324663 = NA) OR (annual_ret#94324663 = null)) THEN null ELSE cast(annual_ret#94324663 as float) END AS annual_ret#94324984, CASE WHEN ((std_ret#94324664 = NA) OR (std_ret#94324664 = null)) THEN null ELSE cast(std_ret#94324664 as float) END AS std_ret#94324987, CASE WHEN ((Sharpe_ret#94324665 = NA) OR (Sharpe_ret#94324665 = null)) THEN null ELSE cast(Sharpe_ret#94324665 as float) END AS Sharpe_ret#94324989, CASE WHEN ((PctPos_ret#94324666 = NA) OR (PctPos_ret#94324666 = null)) THEN null ELSE cast(PctPos_ret#94324666 as float) END AS PctPos_ret#94325003, CASE WHEN ((TR_ret#94324667 = NA) OR (TR_ret#94324667 = null)) THEN null ELSE cast(TR_ret#94324667 as float) END AS TR_ret#94325095, CASE WHEN ((IR_ret#94324668 = NA) OR (IR_ret#94324668 = null)) THEN null ELSE cast(IR_ret#94324668 as float) END AS IR_ret#94325159, CASE WHEN ((annual_resret#94324669 = NA) OR (annual_resret#94324669 = null)) THEN null ELSE cast(annual_resret#94324669 as float) END AS annual_resret#94325161, CASE WHEN ((std_resret#94324670 = NA) OR (std_resret#94324670 = null)) THEN null ELSE cast(std_resret#94324670 as float) END AS std_resret#94325162, CASE WHEN ((Sharpe_resret#94324671 = NA) OR (Sharpe_resret#94324671 = null)) THEN null ELSE cast(Sharpe_resret#94324671 as float) END AS Sharpe_resret#94325163, CASE WHEN ((PctPos_resret#94324672 = NA) OR (PctPos_resret#94324672 = null)) THEN null ELSE cast(PctPos_resret#94324672 as float) END AS PctPos_resret#94325164, CASE WHEN ((TR_resret#94324673 = NA) OR (TR_resret#94324673 = null)) THEN null ELSE cast(TR_resret#94324673 as float) END AS TR_resret#94325165, CASE WHEN ((IR_resret#94324674 = NA) OR (IR_resret#94324674 = null)) THEN null ELSE cast(IR_resret#94324674 as float) END AS IR_resret#94325166, CASE WHEN ((annual_retnet#94324675 = NA) OR (annual_retnet#94324675 = null)) THEN null ELSE cast(annual_retnet#94324675 as float) END AS annual_retnet#94325167, CASE WHEN ((std_retnet#94324676 = NA) OR (std_retnet#94324676 = null)) THEN null ELSE cast(std_retnet#94324676 as float) END AS std_retnet#94325168, CASE WHEN ((Sharpe_retnet#94324677 = NA) OR (Sharpe_retnet#94324677 = null)) THEN null ELSE cast(Sharpe_retnet#94324677 as float) END AS Sharpe_retnet#94325169, CASE WHEN ((PctPos_retnet#94324678 = NA) OR (PctPos_retnet#94324678 = null)) THEN null ELSE cast(PctPos_retnet#94324678 as float) END AS PctPos_retnet#94325170, CASE WHEN ((TR_retnet#94324679 = NA) OR (TR_retnet#94324679 = null)) THEN null ELSE cast(TR_retnet#94324679 as float) END AS TR_retnet#94325171, CASE WHEN ((IR_retnet#94324680 = NA) OR (IR_retnet#94324680 = null)) THEN null ELSE cast(IR_retnet#94324680 as float) END AS IR_retnet#94325172, CASE WHEN ((turnover#94324681 = NA) OR (turnover#94324681 = null)) THEN null ELSE cast(turnover#94324681 as float) END AS turnover#94325173, CASE WHEN ((coverage#94324682 = NA) OR (coverage#94324682 = null)) THEN null ELSE cast(coverage#94324682 as float) END AS coverage#94325174] Input [26]: [cap#94324657, retIC#94324658, resretIC#94324659, numcos#94324660, numdates#94324661, annual_bmret#94324662, annual_ret#94324663, std_ret#94324664, Sharpe_ret#94324665, PctPos_ret#94324666, TR_ret#94324667, IR_ret#94324668, annual_resret#94324669, std_resret#94324670, Sharpe_resret#94324671, PctPos_resret#94324672, TR_resret#94324673, IR_resret#94324674, annual_retnet#94324675, std_retnet#94324676, Sharpe_retnet#94324677, PctPos_retnet#94324678, TR_retnet#94324679, IR_retnet#94324680, turnover#94324681, coverage#94324682] (7) ColumnarToRow [codegen id : 2] Input [2]: [annual_ret#94324984, cap#94324901] (8) Filter [codegen id : 2] Input [2]: [annual_ret#94324984, cap#94324901] Condition : (isnotnull(cap#94324901) AND (cap#94324901 = 1.0)) (9) Project [codegen id : 2] Output [1]: [annual_ret#94324984 AS ret_large#94328105] Input [2]: [annual_ret#94324984, cap#94324901] (10) InMemoryTableScan Output [2]: [annual_ret#94324984, cap#94324901] Arguments: [annual_ret#94324984, cap#94324901], [isnotnull(cap#94324901), (cap#94324901 = 3.0)] (11) InMemoryRelation Arguments: [cap#94324901, retIC#94324914, resretIC#94324916, numcos#94324920, numdates#94324922, annual_bmret#94324925, annual_ret#94324984, std_ret#94324987, Sharpe_ret#94324989, PctPos_ret#94325003, TR_ret#94325095, IR_ret#94325159, annual_resret#94325161, std_resret#94325162, Sharpe_resret#94325163, PctPos_resret#94325164, TR_resret#94325165, IR_resret#94325166, annual_retnet#94325167, std_retnet#94325168, Sharpe_retnet#94325169, PctPos_retnet#94325170, TR_retnet#94325171, IR_retnet#94325172, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((cap#94324657 = NA) OR (cap#94324657 = null)) THEN null ELSE cast(cap#94324657 as float) END AS cap#94324901, CASE WHEN ((retIC#94324658 = NA) OR (retIC#94324658 = null)) THEN null ELSE cast(retIC#94324658 as float) END AS retIC#94324914, CASE WHEN ((resretIC#94324659 = NA) OR (resretIC#94324659 = null)) THEN null ELSE cast(resretIC#94324659 as float) END AS resretIC#94324916, CASE WHEN ((numcos#94324660 = NA) OR (numcos#94324660 = null)) THEN null ELSE cast(numcos#94324660 as float) END AS numcos#94324920, CASE WHEN ((numdates#94324661 = NA) OR (numdates#94324661 = null)) THEN null ELSE cast(numdates#94324661 as float) END AS numdates#94324922, CASE WHEN ((annual_bmret#94324662 = NA) OR (annual_bmret#94324662 = null)) THEN null ELSE cast(annual_bmret#94324662 as float) END AS annual_bmret#94324925, CASE WHEN ((annual_ret#94324663 = NA) OR (annual_ret#94324663 = null)) THEN null ELSE cast(annual_ret#94324663 as float) END AS annual_ret#94324984, CASE WHEN ((std_ret#94324664 = NA) OR (std_ret#94324664 = null)) THEN null ELSE cast(std_ret#94324664 as float) END AS std_ret#94324987, CASE WHEN ((Sharpe_ret#94324665 = NA) OR (Sharpe_ret#94324665 = null)) THEN null ELSE cast(Sharpe_ret#94324665 as float) END AS Sharpe_ret#94324989, CASE WHEN ((PctPos_ret#94324666 = NA) OR (PctPos_ret#94324666 = null)) THEN null ELSE cast(PctPos_ret#94324666 as float) END AS PctPos_ret#94325003, CASE WHEN ((TR_ret#94324667 = NA) OR (TR_ret#94324667 = null)) THEN null ELSE cast(TR_ret#94324667 as float) END AS TR_ret#94325095, CASE WHEN ((IR_ret#94324668 = NA) OR (IR_ret#94324668 = null)) THEN null ELSE cast(IR_ret#94324668 as float) END AS IR_ret#94325159, CASE WHEN ((annual_resret#94324669 = NA) OR (annual_resret#94324669 = null)) THEN null ELSE cast(annual_resret#94324669 as float) END AS annual_resret#94325161, CASE WHEN ((std_resret#94324670 = NA) OR (std_resret#94324670 = null)) THEN null ELSE cast(std_resret#94324670 as float) END AS std_resret#94325162, CASE WHEN ((Sharpe_resret#94324671 = NA) OR (Sharpe_resret#94324671 = null)) THEN null ELSE cast(Sharpe_resret#94324671 as float) END AS Sharpe_resret#94325163, CASE WHEN ((PctPos_resret#94324672 = NA) OR (PctPos_resret#94324672 = null)) THEN null ELSE cast(PctPos_resret#94324672 as float) END AS PctPos_resret#94325164, CASE WHEN ((TR_resret#94324673 = NA) OR (TR_resret#94324673 = null)) THEN null ELSE cast(TR_resret#94324673 as float) END AS TR_resret#94325165, CASE WHEN ((IR_resret#94324674 = NA) OR (IR_resret#94324674 = null)) THEN null ELSE cast(IR_resret#94324674 as float) END AS IR_resret#94325166, CASE WHEN ((annual_retnet#94324675 = NA) OR (annual_retnet#94324675 = null)) THEN null ELSE cast(annual_retnet#94324675 as float) END AS annual_retnet#94325167, CASE WHEN ((std_retnet#94324676 = NA) OR (std_retnet#94324676 = null)) THEN null ELSE cast(std_retnet#94324676 as float) END AS std_retnet#94325168, CASE WHEN ((Sharpe_retnet#94324677 = NA) OR (Sharpe_retnet#94324677 = null)) THEN null ELSE cast(Sharpe_retnet#94324677 as float) END AS Sharpe_retnet#94325169, CASE WHEN ((PctPos_retnet#94324678 = NA) OR (PctPos_retnet#94324678 = null)) THEN null ELSE cast(PctPos_retnet#94324678 as float) END AS PctPos_retnet#94325170, CASE WHEN ((TR_retnet#94324679 = NA) OR (TR_retnet#94324679 = null)) THEN null ELSE cast(TR_retnet#94324679 as float) END AS TR_retnet#94325171, CASE WHEN ((IR_retnet#94324680 = NA) OR (IR_retnet#94324680 = null)) THEN null ELSE cast(IR_retnet#94324680 as float) END AS IR_retnet#94325172, ... 2 more fields] +- FileScan csv [cap#94324657,retIC#94324658,resretIC#94324659,numcos#94324660,numdates#94324661,annual_bmret#94324662,annual_ret#94324663,std_ret#94324664,Sharpe_ret#94324665,PctPos_ret#94324666,TR_ret#94324667,IR_ret#94324668,annual_resret#94324669,std_resret#94324670,Sharpe_resret#94324671,PctPos_resret#94324672,TR_resret#94324673,IR_resret#94324674,annual_retnet#94324675,std_retnet#94324676,Sharpe_retnet#94324677,PctPos_retnet#94324678,TR_retnet#94324679,IR_retnet#94324680,... 2 more fields] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/output/estimize_signal_histor..., 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#94324984, cap#94324901] (13) Filter [codegen id : 1] Input [2]: [annual_ret#94324984, cap#94324901] Condition : (isnotnull(cap#94324901) AND (cap#94324901 = 3.0)) (14) Project [codegen id : 1] Output [1]: [annual_ret#94324984 AS ret_small#94328107] Input [2]: [annual_ret#94324984, cap#94324901] (15) BroadcastExchange Input [1]: [ret_small#94328107] Arguments: IdentityBroadcastMode, [id=#7531480] (16) BroadcastNestedLoopJoin [codegen id : 2] Join condition: None (17) Project [codegen id : 2] Output [3]: [ret_large#94328105, ret_small#94328107, (ret_large#94328105 - ret_small#94328107) AS differential#94328220] Input [2]: [ret_large#94328105, ret_small#94328107] (18) ColumnarToRow [codegen id : 1] Input [3]: [ret_large#94328105, ret_small#94328107, differential#94328220] (19) CollectLimit Input [3]: [ret_large#94328105, ret_small#94328107, differential#94328220] Arguments: 1000000