Spinning Up a Spark Cluster on Spot Instances: Step by Step
insightdataengineering.com
insightdataengineering.com
https://spark.apache.org/docs/latest/ec2-scripts.html
You can even specify the spot instance price, instance type, number of nodes, etc.
e.g.
./spark-ec2 --key-pair=awskey --identity-file=awskey.pem --region=us-west-1 --zone=us-west-1a --spot-price=0.2 --instance-type=m4.4xlarge launch my-spark-cluster
Disclaimer: I work on Compute Engine, specifically Preemptible VMs, but didn't work on Dataproc (though I did add --preemptible to bdutil!)
EMR also added support for Spark this year: https://aws.amazon.com/elasticmapreduce/details/spark/