SparkContext.union and RDD.union are equivalent, if you have two RDDs.
Reducing over a list of RDDs and calling RDD.union will result in several nested UnionRDDs (referencing each other), where the call to SparkContext.union will result in only a single UnionRDD.