这只是一个人随意的一些分享, 你大概可以放宽心的当休闲的东西来看, 看完你大概也许会对Spark会有一些不一样的想法。
cartesian.png
NarrowDependency
,
我们初略解读下这个代码,
当我们分区0去读取数据的时候,
会读取到rdd1的 0 / 2 = 0
号分区
会读取到rdd2的 0 % 2 = 0
号分区
当我们分区1去读取数据的时候,
会读取到rdd1的 1 / 2 = 0
号分区
会读取到rdd2的 1 % 2 = 1
号分区
当我们分区2去读取数据的时候,
会读取到rdd1的 2 / 2 = 1
号分区
会读取到rdd2的 2 % 2 = 0
号分区
当我们分区3去读取数据的时候,
会读取到rdd1的 3 / 2 = 1
号分区
会读取到rdd2的 3 % 2 = 1
号分区
并且是默认的Hash分区器,
这样就保证了能组合的数据肯定会组合到一起