join(自然连接) | 只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来 |
---|---|
inner join(等值连接、内连接) | 只返回两个表中联结字段相等的行 |
full join (全连接、满外连接) | 把左右两个表的数据都取出来,不管是否匹配 |
left join(左联接) | 返回包括左表中的所有记录和右表中联结字段相等的记录 |
right join(右联接) | 返回包括右表中的所有记录和左表中联结字段相等的记录 |
outer join (外连接) | 就是在关联不上的时候,把其中的部分信息查询出来 |
cross join | 把表A和表B的数据进行一个N*M的组合,即笛卡尔积 |
crossJoin
是 Spark SQL 中用于连接两个 DataFrame 的操作。这个操作会生成一个新的 DataFrame,其中包含两个原始 DataFrame 中所有可能的行组合,即它是一种笛卡尔积。
crossjoin和join的区别
与
join
操作相比,crossJoin
不需要两个 DataFrame 有共同的列。join
操作是基于两个 DataFrame 中的共享列进行连接,而crossJoin
则是将两个 DataFrame 中的所有行都配对起来。