title: Is there a method in Spark to obtain an RDD which is a random subset, of a given exact size, of another RDD?
body: <p>I know RDD's have the 'sample' method which returns a new RDD containing a given fraction of the original RDD, randomly selected. However, as each element is selected randomly, the size of the new RDD is not deterministic.
  There's also the 'takeSample' method which returns an input integer number of elements of an RDD. However, this returns a list rather than a new RDD.</p>
  
  <p>Is there a method that returns an RDD with a specified exact number of randomly selected elements? Of course one can use takeSample and create a new RDD from that, but this means sending a lot of data back and forth between driver and executors.</p>