TrainValidationSplit differs from CrossValidator mainly by:
Select an answer to reveal the explanation.
Short Explanation and Infographic
TrainValidationSplit = one split (cheaper); CrossValidator = k-fold (more stable, costlier).
Full explanation below image
Full Explanation
Cost vs robustness tradeoff in Spark tuning.