快速区分 spark 四种关联方式(结论适用于 sql)
关联操作是 spark 或 sql 中常用的操作, 这里以 spark 为例,区别四种不同的 join 方式
1 | #!/usr/bin/python3 |
输出:
1 | join: [('a', (1, 2)), ('a', (1, 3))] |
结论:
- join (INNER JOIN):如果两个rdd(sql表)中的数据有至少一个匹配,则返回行
- leftOuterJoin (LEFT JOIN):以左边的 rdd (左sql表) 为基准, 返回所有匹配的值,不能匹配的用 None 填充
- rightOuterJoin (RIGHT JOIN):以右边的 rdd (右sql表) 为基准, 返回所有匹配的值,不能匹配的用 None 填充
- fullOuterJoin (FULL JOIN):返回左右两个 rdd (两个 sql表) 所有的行, 不匹配的用 None 填充
文章标题:快速区分 spark 四种关联方式(结论适用于 sql)
文章字数:295
本文作者:Waterandair
发布时间:2018-01-09, 11:20:47
最后更新:2019-12-28, 14:03:59
原始链接:https://waterandair.github.io/2018-01-09-spark-and-sql-join-pattern.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。