Say I have a code like this, where x is an RDD.
val a = x.map(...)
val b = x.map(...)
val c = x.map(...)
....
// a, b and c are used later on
For some reason, I would like b only to execute after execution for a is completed, and c to only execute after execution for b is completed. Is there a way to force this dependency in Spark?
Secondly, what is the default mechanism for Spark to execute such code. Would it perform execution for a, b and c in parallel, since there is no dependency among them?