spark3.0教程:join()和cogroup()区别

join

类似 SQL 的 inner join

2个RDD 是 key-value,join后,返回的RDD是 key-value:

  • key:RDD1 和 RDD2 相同的 key
  • value:
    • 相同key对应的value组合在一起
    • 不同:没有对应的key就丢弃
    • 不同:如果rdd内有相同的key,组合后可能有笛卡尔积

cogroup

类似 SQL 的 full join

返回的RDD是 key-value结构:

  • key:包含 RDD1 和 RDD2 所有的 key
  • value:
    • 相同key相对应的value组合在一起
    • 不同:没有对应的key就空着(会显示出来)
    • 不同:rdd内相同的key的value也会组合

原文出处:/show_1IX1NoeeF2z3.html