== Physical Plan == CollectLimit (19) +- InMemoryTableScan (1) +- InMemoryRelation (2) +- * Sort (18) +- Exchange (17) +- * Project (16) +- * BroadcastHashJoin Inner BuildLeft (15) :- BroadcastExchange (9) : +- * Project (8) : +- * Filter (7) : +- InMemoryTableScan (3) : +- InMemoryRelation (4) : +- * Project (6) : +- Scan csv (5) +- * Filter (14) +- InMemoryTableScan (10) +- InMemoryRelation (11) +- * Project (13) +- Scan csv (12) (1) InMemoryTableScan Output [7]: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94144898, coverage#94010916] Arguments: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94144898, coverage#94010916] (2) InMemoryRelation Arguments: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94144898, coverage#94010916], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(3) Sort [sort#93880530 ASC NULLS FIRST, description#93880532 ASC NULLS FIRST], true, 0 +- Exchange rangepartitioning(sort#93880530 ASC NULLS FIRST, description#93880532 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7506039] +- *(2) Project [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94011004, coverage#94010916] +- *(2) BroadcastHashJoin [sector_id#94010645], [sector_id#93880529], Inner, BuildLeft, false :- BroadcastExchange HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [id=#7506032] : +- *(1) Project [sector_id#94010645, numcos#94010654, numdates#94010659, coverage#94010916, round((cast(numcos#94010654 as double) / cast(coverage#94010916 as double)), 0) AS universe#94011004] : +- *(1) Filter isnotnull(sector_id#94010645) : +- InMemoryTableScan [coverage#94010916, numcos#94010654, numdates#94010659, sector_id#94010645], [isnotnull(sector_id#94010645)] : +- InMemoryRelation [sector_id#94010645, retIC#94010649, resretIC#94010652, numcos#94010654, numdates#94010659, annual_bmret#94010662, annual_ret#94010667, std_ret#94010670, Sharpe_ret#94010674, PctPos_ret#94010678, TR_ret#94010679, IR_ret#94010682, annual_resret#94010805, std_resret#94010818, Sharpe_resret#94010819, PctPos_resret#94010820, TR_resret#94010833, IR_resret#94010834, annual_retnet#94010835, std_retnet#94010848, Sharpe_retnet#94010849, PctPos_retnet#94010852, TR_retnet#94010913, IR_retnet#94010914, ... 2 more fields], StorageLevel(disk, memory, deserialized, 1 replicas) : +- *(1) Project [CASE WHEN ((sector_id#94010387 = NA) OR (sector_id#94010387 = null)) THEN null ELSE cast(sector_id#94010387 as int) END AS sector_id#94010645, CASE WHEN ((retIC#94010388 = NA) OR (retIC#94010388 = null)) THEN null ELSE cast(retIC#94010388 as float) END AS retIC#94010649, CASE WHEN ((resretIC#94010389 = NA) OR (resretIC#94010389 = null)) THEN null ELSE cast(resretIC#94010389 as float) END AS resretIC#94010652, CASE WHEN ((numcos#94010390 = NA) OR (numcos#94010390 = null)) THEN null ELSE cast(numcos#94010390 as float) END AS numcos#94010654, CASE WHEN ((numdates#94010391 = NA) OR (numdates#94010391 = null)) THEN null ELSE cast(numdates#94010391 as float) END AS numdates#94010659, CASE WHEN (annual_bmret#94010392 = null) THEN null ELSE annual_bmret#94010392 END AS annual_bmret#94010662, CASE WHEN ((annual_ret#94010393 = NA) OR (annual_ret#94010393 = null)) THEN null ELSE cast(annual_ret#94010393 as float) END AS annual_ret#94010667, CASE WHEN ((std_ret#94010394 = NA) OR (std_ret#94010394 = null)) THEN null ELSE cast(std_ret#94010394 as float) END AS std_ret#94010670, CASE WHEN ((Sharpe_ret#94010395 = NA) OR (Sharpe_ret#94010395 = null)) THEN null ELSE cast(Sharpe_ret#94010395 as float) END AS Sharpe_ret#94010674, CASE WHEN ((PctPos_ret#94010396 = NA) OR (PctPos_ret#94010396 = null)) THEN null ELSE cast(PctPos_ret#94010396 as float) END AS PctPos_ret#94010678, CASE WHEN (TR_ret#94010397 = null) THEN null ELSE TR_ret#94010397 END AS TR_ret#94010679, CASE WHEN (IR_ret#94010398 = null) THEN null ELSE IR_ret#94010398 END AS IR_ret#94010682, CASE WHEN ((annual_resret#94010399 = NA) OR (annual_resret#94010399 = null)) THEN null ELSE cast(annual_resret#94010399 as float) END AS annual_resret#94010805, CASE WHEN ((std_resret#94010400 = NA) OR (std_resret#94010400 = null)) THEN null ELSE cast(std_resret#94010400 as float) END AS std_resret#94010818, CASE WHEN ((Sharpe_resret#94010401 = NA) OR (Sharpe_resret#94010401 = null)) THEN null ELSE cast(Sharpe_resret#94010401 as float) END AS Sharpe_resret#94010819, CASE WHEN ((PctPos_resret#94010402 = NA) OR (PctPos_resret#94010402 = null)) THEN null ELSE cast(PctPos_resret#94010402 as float) END AS PctPos_resret#94010820, CASE WHEN (TR_resret#94010403 = null) THEN null ELSE TR_resret#94010403 END AS TR_resret#94010833, CASE WHEN (IR_resret#94010404 = null) THEN null ELSE IR_resret#94010404 END AS IR_resret#94010834, CASE WHEN ((annual_retnet#94010405 = NA) OR (annual_retnet#94010405 = null)) THEN null ELSE cast(annual_retnet#94010405 as float) END AS annual_retnet#94010835, CASE WHEN ((std_retnet#94010406 = NA) OR (std_retnet#94010406 = null)) THEN null ELSE cast(std_retnet#94010406 as float) END AS std_retnet#94010848, CASE WHEN ((Sharpe_retnet#94010407 = NA) OR (Sharpe_retnet#94010407 = null)) THEN null ELSE cast(Sharpe_retnet#94010407 as float) END AS Sharpe_retnet#94010849, CASE WHEN ((PctPos_retnet#94010408 = NA) OR (PctPos_retnet#94010408 = null)) THEN null ELSE cast(PctPos_retnet#94010408 as float) END AS PctPos_retnet#94010852, CASE WHEN (TR_retnet#94010409 = null) THEN null ELSE TR_retnet#94010409 END AS TR_retnet#94010913, CASE WHEN (IR_retnet#94010410 = null) THEN null ELSE IR_retnet#94010410 END AS IR_retnet#94010914, ... 2 more fields] : +- FileScan csv [sector_id#94010387,retIC#94010388,resretIC#94010389,numcos#94010390,numdates#94010391,annual_bmret#94010392,annual_ret#94010393,std_ret#94010394,Sharpe_ret#94010395,PctPos_ret#94010396,TR_ret#94010397,IR_ret#94010398,annual_resret#94010399,std_resret#94010400,Sharpe_resret#94010401,PctPos_resret#94010402,TR_resret#94010403,IR_resret#94010404,annual_retnet#94010405,std_retnet#94010406,Sharpe_retnet#94010407,PctPos_retnet#94010408,TR_retnet#94010409,IR_retnet#94010410,... 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<sector_id:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:s... +- *(2) Filter isnotnull(sector_id#93880529) +- InMemoryTableScan [sector_id#93880529, sort#93880530, description#93880532], [isnotnull(sector_id#93880529)] +- InMemoryRelation [sector_id#93880529, sort#93880530, description#93880532, universe#93880534], StorageLevel(disk, memory, deserialized, 1 replicas) +- *(1) Project [CASE WHEN ((sector_id#93880497 = NA) OR (sector_id#93880497 = null)) THEN null ELSE cast(sector_id#93880497 as int) END AS sector_id#93880529, CASE WHEN (sort#93880499 = null) THEN null ELSE sort#93880499 END AS sort#93880530, CASE WHEN (description#93880501 = null) THEN null ELSE description#93880501 END AS description#93880532, CASE WHEN ((universe#93880503 = NA) OR (universe#93880503 = null)) THEN null ELSE cast(universe#93880503 as int) END AS universe#93880534] +- FileScan csv [sector_id#93880497,sort#93880499,description#93880501,universe#93880503] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/curate/curate_sector.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<sector_id:string,sort:string,description:string,universe:string> ,None), [sort#93880530 ASC NULLS FIRST, description#93880532 ASC NULLS FIRST] (3) InMemoryTableScan Output [4]: [coverage#94010916, numcos#94010654, numdates#94010659, sector_id#94010645] Arguments: [coverage#94010916, numcos#94010654, numdates#94010659, sector_id#94010645], [isnotnull(sector_id#94010645)] (4) InMemoryRelation Arguments: [sector_id#94010645, retIC#94010649, resretIC#94010652, numcos#94010654, numdates#94010659, annual_bmret#94010662, annual_ret#94010667, std_ret#94010670, Sharpe_ret#94010674, PctPos_ret#94010678, TR_ret#94010679, IR_ret#94010682, annual_resret#94010805, std_resret#94010818, Sharpe_resret#94010819, PctPos_resret#94010820, TR_resret#94010833, IR_resret#94010834, annual_retnet#94010835, std_retnet#94010848, Sharpe_retnet#94010849, PctPos_retnet#94010852, TR_retnet#94010913, IR_retnet#94010914, ... 2 more fields], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((sector_id#94010387 = NA) OR (sector_id#94010387 = null)) THEN null ELSE cast(sector_id#94010387 as int) END AS sector_id#94010645, CASE WHEN ((retIC#94010388 = NA) OR (retIC#94010388 = null)) THEN null ELSE cast(retIC#94010388 as float) END AS retIC#94010649, CASE WHEN ((resretIC#94010389 = NA) OR (resretIC#94010389 = null)) THEN null ELSE cast(resretIC#94010389 as float) END AS resretIC#94010652, CASE WHEN ((numcos#94010390 = NA) OR (numcos#94010390 = null)) THEN null ELSE cast(numcos#94010390 as float) END AS numcos#94010654, CASE WHEN ((numdates#94010391 = NA) OR (numdates#94010391 = null)) THEN null ELSE cast(numdates#94010391 as float) END AS numdates#94010659, CASE WHEN (annual_bmret#94010392 = null) THEN null ELSE annual_bmret#94010392 END AS annual_bmret#94010662, CASE WHEN ((annual_ret#94010393 = NA) OR (annual_ret#94010393 = null)) THEN null ELSE cast(annual_ret#94010393 as float) END AS annual_ret#94010667, CASE WHEN ((std_ret#94010394 = NA) OR (std_ret#94010394 = null)) THEN null ELSE cast(std_ret#94010394 as float) END AS std_ret#94010670, CASE WHEN ((Sharpe_ret#94010395 = NA) OR (Sharpe_ret#94010395 = null)) THEN null ELSE cast(Sharpe_ret#94010395 as float) END AS Sharpe_ret#94010674, CASE WHEN ((PctPos_ret#94010396 = NA) OR (PctPos_ret#94010396 = null)) THEN null ELSE cast(PctPos_ret#94010396 as float) END AS PctPos_ret#94010678, CASE WHEN (TR_ret#94010397 = null) THEN null ELSE TR_ret#94010397 END AS TR_ret#94010679, CASE WHEN (IR_ret#94010398 = null) THEN null ELSE IR_ret#94010398 END AS IR_ret#94010682, CASE WHEN ((annual_resret#94010399 = NA) OR (annual_resret#94010399 = null)) THEN null ELSE cast(annual_resret#94010399 as float) END AS annual_resret#94010805, CASE WHEN ((std_resret#94010400 = NA) OR (std_resret#94010400 = null)) THEN null ELSE cast(std_resret#94010400 as float) END AS std_resret#94010818, CASE WHEN ((Sharpe_resret#94010401 = NA) OR (Sharpe_resret#94010401 = null)) THEN null ELSE cast(Sharpe_resret#94010401 as float) END AS Sharpe_resret#94010819, CASE WHEN ((PctPos_resret#94010402 = NA) OR (PctPos_resret#94010402 = null)) THEN null ELSE cast(PctPos_resret#94010402 as float) END AS PctPos_resret#94010820, CASE WHEN (TR_resret#94010403 = null) THEN null ELSE TR_resret#94010403 END AS TR_resret#94010833, CASE WHEN (IR_resret#94010404 = null) THEN null ELSE IR_resret#94010404 END AS IR_resret#94010834, CASE WHEN ((annual_retnet#94010405 = NA) OR (annual_retnet#94010405 = null)) THEN null ELSE cast(annual_retnet#94010405 as float) END AS annual_retnet#94010835, CASE WHEN ((std_retnet#94010406 = NA) OR (std_retnet#94010406 = null)) THEN null ELSE cast(std_retnet#94010406 as float) END AS std_retnet#94010848, CASE WHEN ((Sharpe_retnet#94010407 = NA) OR (Sharpe_retnet#94010407 = null)) THEN null ELSE cast(Sharpe_retnet#94010407 as float) END AS Sharpe_retnet#94010849, CASE WHEN ((PctPos_retnet#94010408 = NA) OR (PctPos_retnet#94010408 = null)) THEN null ELSE cast(PctPos_retnet#94010408 as float) END AS PctPos_retnet#94010852, CASE WHEN (TR_retnet#94010409 = null) THEN null ELSE TR_retnet#94010409 END AS TR_retnet#94010913, CASE WHEN (IR_retnet#94010410 = null) THEN null ELSE IR_retnet#94010410 END AS IR_retnet#94010914, ... 2 more fields] +- FileScan csv [sector_id#94010387,retIC#94010388,resretIC#94010389,numcos#94010390,numdates#94010391,annual_bmret#94010392,annual_ret#94010393,std_ret#94010394,Sharpe_ret#94010395,PctPos_ret#94010396,TR_ret#94010397,IR_ret#94010398,annual_resret#94010399,std_resret#94010400,Sharpe_resret#94010401,PctPos_resret#94010402,TR_resret#94010403,IR_resret#94010404,annual_retnet#94010405,std_retnet#94010406,Sharpe_retnet#94010407,PctPos_retnet#94010408,TR_retnet#94010409,IR_retnet#94010410,... 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<sector_id:string,retIC:string,resretIC:string,numcos:string,numdates:string,annual_bmret:s... ,None) (5) Scan csv Output [26]: [sector_id#94010387, retIC#94010388, resretIC#94010389, numcos#94010390, numdates#94010391, annual_bmret#94010392, annual_ret#94010393, std_ret#94010394, Sharpe_ret#94010395, PctPos_ret#94010396, TR_ret#94010397, IR_ret#94010398, annual_resret#94010399, std_resret#94010400, Sharpe_resret#94010401, PctPos_resret#94010402, TR_resret#94010403, IR_resret#94010404, annual_retnet#94010405, std_retnet#94010406, Sharpe_retnet#94010407, PctPos_retnet#94010408, TR_retnet#94010409, IR_retnet#94010410, turnover#94010411, coverage#94010412] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/output/rankviews_history/rankviews/stats_sector_id.csv] ReadSchema: struct<sector_id: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 ((sector_id#94010387 = NA) OR (sector_id#94010387 = null)) THEN null ELSE cast(sector_id#94010387 as int) END AS sector_id#94010645, CASE WHEN ((retIC#94010388 = NA) OR (retIC#94010388 = null)) THEN null ELSE cast(retIC#94010388 as float) END AS retIC#94010649, CASE WHEN ((resretIC#94010389 = NA) OR (resretIC#94010389 = null)) THEN null ELSE cast(resretIC#94010389 as float) END AS resretIC#94010652, CASE WHEN ((numcos#94010390 = NA) OR (numcos#94010390 = null)) THEN null ELSE cast(numcos#94010390 as float) END AS numcos#94010654, CASE WHEN ((numdates#94010391 = NA) OR (numdates#94010391 = null)) THEN null ELSE cast(numdates#94010391 as float) END AS numdates#94010659, CASE WHEN (annual_bmret#94010392 = null) THEN null ELSE annual_bmret#94010392 END AS annual_bmret#94010662, CASE WHEN ((annual_ret#94010393 = NA) OR (annual_ret#94010393 = null)) THEN null ELSE cast(annual_ret#94010393 as float) END AS annual_ret#94010667, CASE WHEN ((std_ret#94010394 = NA) OR (std_ret#94010394 = null)) THEN null ELSE cast(std_ret#94010394 as float) END AS std_ret#94010670, CASE WHEN ((Sharpe_ret#94010395 = NA) OR (Sharpe_ret#94010395 = null)) THEN null ELSE cast(Sharpe_ret#94010395 as float) END AS Sharpe_ret#94010674, CASE WHEN ((PctPos_ret#94010396 = NA) OR (PctPos_ret#94010396 = null)) THEN null ELSE cast(PctPos_ret#94010396 as float) END AS PctPos_ret#94010678, CASE WHEN (TR_ret#94010397 = null) THEN null ELSE TR_ret#94010397 END AS TR_ret#94010679, CASE WHEN (IR_ret#94010398 = null) THEN null ELSE IR_ret#94010398 END AS IR_ret#94010682, CASE WHEN ((annual_resret#94010399 = NA) OR (annual_resret#94010399 = null)) THEN null ELSE cast(annual_resret#94010399 as float) END AS annual_resret#94010805, CASE WHEN ((std_resret#94010400 = NA) OR (std_resret#94010400 = null)) THEN null ELSE cast(std_resret#94010400 as float) END AS std_resret#94010818, CASE WHEN ((Sharpe_resret#94010401 = NA) OR (Sharpe_resret#94010401 = null)) THEN null ELSE cast(Sharpe_resret#94010401 as float) END AS Sharpe_resret#94010819, CASE WHEN ((PctPos_resret#94010402 = NA) OR (PctPos_resret#94010402 = null)) THEN null ELSE cast(PctPos_resret#94010402 as float) END AS PctPos_resret#94010820, CASE WHEN (TR_resret#94010403 = null) THEN null ELSE TR_resret#94010403 END AS TR_resret#94010833, CASE WHEN (IR_resret#94010404 = null) THEN null ELSE IR_resret#94010404 END AS IR_resret#94010834, CASE WHEN ((annual_retnet#94010405 = NA) OR (annual_retnet#94010405 = null)) THEN null ELSE cast(annual_retnet#94010405 as float) END AS annual_retnet#94010835, CASE WHEN ((std_retnet#94010406 = NA) OR (std_retnet#94010406 = null)) THEN null ELSE cast(std_retnet#94010406 as float) END AS std_retnet#94010848, CASE WHEN ((Sharpe_retnet#94010407 = NA) OR (Sharpe_retnet#94010407 = null)) THEN null ELSE cast(Sharpe_retnet#94010407 as float) END AS Sharpe_retnet#94010849, CASE WHEN ((PctPos_retnet#94010408 = NA) OR (PctPos_retnet#94010408 = null)) THEN null ELSE cast(PctPos_retnet#94010408 as float) END AS PctPos_retnet#94010852, CASE WHEN (TR_retnet#94010409 = null) THEN null ELSE TR_retnet#94010409 END AS TR_retnet#94010913, CASE WHEN (IR_retnet#94010410 = null) THEN null ELSE IR_retnet#94010410 END AS IR_retnet#94010914, CASE WHEN ((turnover#94010411 = NA) OR (turnover#94010411 = null)) THEN null ELSE cast(turnover#94010411 as float) END AS turnover#94010915, CASE WHEN ((coverage#94010412 = NA) OR (coverage#94010412 = null)) THEN null ELSE cast(coverage#94010412 as float) END AS coverage#94010916] Input [26]: [sector_id#94010387, retIC#94010388, resretIC#94010389, numcos#94010390, numdates#94010391, annual_bmret#94010392, annual_ret#94010393, std_ret#94010394, Sharpe_ret#94010395, PctPos_ret#94010396, TR_ret#94010397, IR_ret#94010398, annual_resret#94010399, std_resret#94010400, Sharpe_resret#94010401, PctPos_resret#94010402, TR_resret#94010403, IR_resret#94010404, annual_retnet#94010405, std_retnet#94010406, Sharpe_retnet#94010407, PctPos_retnet#94010408, TR_retnet#94010409, IR_retnet#94010410, turnover#94010411, coverage#94010412] (7) Filter [codegen id : 1] Input [4]: [coverage#94010916, numcos#94010654, numdates#94010659, sector_id#94010645] Condition : isnotnull(sector_id#94010645) (8) Project [codegen id : 1] Output [5]: [sector_id#94010645, numcos#94010654, numdates#94010659, coverage#94010916, round((cast(numcos#94010654 as double) / cast(coverage#94010916 as double)), 0) AS universe#94011004] Input [4]: [coverage#94010916, numcos#94010654, numdates#94010659, sector_id#94010645] (9) BroadcastExchange Input [5]: [sector_id#94010645, numcos#94010654, numdates#94010659, coverage#94010916, universe#94011004] Arguments: HashedRelationBroadcastMode(List(cast(input[0, int, true] as bigint)),false), [id=#7506032] (10) InMemoryTableScan Output [3]: [sector_id#93880529, sort#93880530, description#93880532] Arguments: [sector_id#93880529, sort#93880530, description#93880532], [isnotnull(sector_id#93880529)] (11) InMemoryRelation Arguments: [sector_id#93880529, sort#93880530, description#93880532, universe#93880534], CachedRDDBuilder(org.apache.spark.sql.execution.columnar.DefaultCachedBatchSerializer@208e3fd9,StorageLevel(disk, memory, deserialized, 1 replicas),*(1) Project [CASE WHEN ((sector_id#93880497 = NA) OR (sector_id#93880497 = null)) THEN null ELSE cast(sector_id#93880497 as int) END AS sector_id#93880529, CASE WHEN (sort#93880499 = null) THEN null ELSE sort#93880499 END AS sort#93880530, CASE WHEN (description#93880501 = null) THEN null ELSE description#93880501 END AS description#93880532, CASE WHEN ((universe#93880503 = NA) OR (universe#93880503 = null)) THEN null ELSE cast(universe#93880503 as int) END AS universe#93880534] +- FileScan csv [sector_id#93880497,sort#93880499,description#93880501,universe#93880503] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex(1 paths)[file:/srv/plusamp/data/default/ea-market/curate/curate_sector.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<sector_id:string,sort:string,description:string,universe:string> ,None) (12) Scan csv Output [4]: [sector_id#93880497, sort#93880499, description#93880501, universe#93880503] Batched: false Location: InMemoryFileIndex [file:/srv/plusamp/data/default/ea-market/curate/curate_sector.csv] ReadSchema: struct<sector_id:string,sort:string,description:string,universe:string> (13) Project [codegen id : 1] Output [4]: [CASE WHEN ((sector_id#93880497 = NA) OR (sector_id#93880497 = null)) THEN null ELSE cast(sector_id#93880497 as int) END AS sector_id#93880529, CASE WHEN (sort#93880499 = null) THEN null ELSE sort#93880499 END AS sort#93880530, CASE WHEN (description#93880501 = null) THEN null ELSE description#93880501 END AS description#93880532, CASE WHEN ((universe#93880503 = NA) OR (universe#93880503 = null)) THEN null ELSE cast(universe#93880503 as int) END AS universe#93880534] Input [4]: [sector_id#93880497, sort#93880499, description#93880501, universe#93880503] (14) Filter Input [3]: [sector_id#93880529, sort#93880530, description#93880532] Condition : isnotnull(sector_id#93880529) (15) BroadcastHashJoin [codegen id : 2] Left keys [1]: [sector_id#94010645] Right keys [1]: [sector_id#93880529] Join condition: None (16) Project [codegen id : 2] Output [7]: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94011004, coverage#94010916] Input [8]: [sector_id#94010645, numcos#94010654, numdates#94010659, coverage#94010916, universe#94011004, sector_id#93880529, sort#93880530, description#93880532] (17) Exchange Input [7]: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94011004, coverage#94010916] Arguments: rangepartitioning(sort#93880530 ASC NULLS FIRST, description#93880532 ASC NULLS FIRST, 200), ENSURE_REQUIREMENTS, [id=#7506039] (18) Sort [codegen id : 3] Input [7]: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94011004, coverage#94010916] Arguments: [sort#93880530 ASC NULLS FIRST, description#93880532 ASC NULLS FIRST], true, 0 (19) CollectLimit Input [7]: [sector_id#94010645, numcos#94010654, numdates#94010659, sort#93880530, description#93880532, universe#94144898, coverage#94010916] Arguments: 1000000