开发者社区> 问答> 正文

SparkSQL中join操作与left join操作的区别是什么?

SparkSQL中join操作与left join操作的区别是什么?

展开
收起
芯在这 2021-12-10 19:56:03 565 0
1 条回答
写回答
取消 提交回答
  • join和sql中的inner join操作很相似,返回结果是前面一个集合和后面一个集合中匹配成功的,过滤掉关联不上的。

    leftJoin类似于SQL中的左外关联left outer join,返回结果以第一个RDD为主,关联不上的记录为空。

    部分场景下可以使用left semi join替代left join:

    因为 left semi join 是 in(keySet) 的关系,遇到右表重复记录,左表会跳过,性能更高,而 left join 则会一直遍历。但是left semi join 中最后 select 的结果中只许出现左表中的列名,因为右表只有 join key 参与关联计算了

    2021-12-10 19:56:20
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Lazy-Join Optimizations withou 立即下载
Get rid of traditional ETL, Move to Spark! 立即下载
Spark SQL:Past Present &Future 立即下载