I am trying to understand the underlying concept in Spark from here. As far as I have understood, narrow transformation produce child RDDs that are transformed from a single parent RDD (might be multiple partitions of the same RDD). However, union and intersection both require two or more RDDs for the transformations to be performed. Can someone please clear this theoretically?