Hir*_*eer 3 scala transformation apache-spark rdd pyspark
我试图从这里理解 Spark 的基本概念。据我所知,窄转换会产生从单个父 RDD 转换而来的子 RDD(可能是同一 RDD 的多个分区)。然而,并集和交集都需要两个或多个 RDD 才能执行转换。有人可以从理论上解决这个问题吗?
不,你的理解是不正确的。窄变换是一种只需要源中的单个分区即可计算输出的一个分区的所有元素的变换。union因此是一个狭窄的转换,因为要创建输出分区,您只需要源数据中的单个分区。
另一方面,交集很宽,因为即使对于输出的单个分区,它也需要访问(至少)一个源 rdd 的全部内容。