Spark 中和 join 相關(guān)的算子有這幾個(gè):join、fullOuterJoin、leftOuterJoin、rightOuterJoin
這幾種 join 算子和 sql 中的 join 類似,join 相當(dāng)于內(nèi)連接,fullOuterJoin 相當(dāng)于全連接,leftOuterJoin 相當(dāng)于左連接,rightOuterJoin 相當(dāng)于右連接。
分別解釋下這幾種連接在 sql 中的含義,spark 中類推:
- 內(nèi)連接:如果表中有至少一個(gè)匹配,則返回行。
- 左連接:即使右表中沒有匹配,也從左表返回所有的行。
- 右連接:即使左表中沒有匹配,也從右表返回所有的行。
- 全連接:只要其中一個(gè)表中存在匹配,則返回行。
直觀點(diǎn)看圖:

sql join 圖解