nit: the value of 0 is technically "between 0 and 1." This should be `memoryFraction < 0`. Someone might not want to use the RDD cache at all and use all memory for spilling, for instance. (though I don't think this is common)