SPARK SQL join实现

一、SPARK SQL的执行流程

  

 

 二、spark支持的join包括:inner join,left outer join,right outer join,full outer join,left semi join,left anti join

 spark的join是将两张表抽象为遍历表和查找

 

 spark提供三种形式的join:

  1)Broadcast hash join:即将小表数据广播到executor,其实就是利用collect算子将小表数据收集到driver端,在由driver分发到executor

  2)Shuffle Sort join:在shuffle read阶段对记录排序,仅支持等值 Join,并且要求参与 Join的 Keys 可排序

  3)Shuffle Hash join:在shuffle read阶段不对记录排序,反正来自两格表的具有相同key的记录会在同一个分区,只是在分区内不排序,将来自buildIter的记录放到hash表中

posted @ 2021-12-14 11:51  Shydow  阅读(405)  评论(0编辑  收藏  举报