hive的6种join操作

来源:互联网 发布:sor文件打开软件 编辑:程序博客网 时间:2024/05/16 07:29

1.join2.left join3.right join4.full join5.left semi join6.cross join

hive中的join操作的关键字必须在on中指定,不能再where中指定,不然会先做笛卡尔积再过滤;

join关键字默认为内连接,返回两张表中都有的信息;

left join以前面的表作为主表和其他表进行关联,返回的记录数和主表的记录数相同,关联不上的字段用NULL;

left [outer] join对其无影响;

right join与left相反,以后面的表为主表,和前面的表做关联,返回的记录数和主表一致,关联不上的字段为NULL;

full join为全关联,返回两个表记录的并集,关联不上的字段为NULL;

注意:full join时,hive不会用mapjoin来优化;

left semi join以关键字前面的表为主表,两个表对on的条件字段做交集,返回前面表的记录;

cross join(笛卡尔积关联)返回两个表的笛卡尔积结果,不需要指定关联键;

  1. SELECT a.id,
  2. a.name,
  3. b.age
  4. FROM lxw1234_a a
  5. CROSS JOIN lxw1234_b b;
  6.  
  7. --执行结果:
  8. 1 zhangsan30
  9. 1 zhangsan29
  10. 1 zhangsan21
  11. 2 lisi30
  12. 2 lisi29
  13. 2 lisi21
  14. 3 wangwu30
  15. 3 wangwu29
  16. 3 wangwu21

除非特殊需求,并且数据量不是特别大的情况下,才可以慎用CROSS JOIN,否则,很难跑出正确的结果,或者JOB压根不能执行完


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 什么是结晶 结晶图片 结晶的意思 结晶的方法 结晶蜂蜜 再结晶 结晶蜂蜜真假辨别方法 肾结晶一般多久可以排除 结晶是什么意思 重结晶的原理 蜂蜜结晶图片 正宗蜂蜜结晶图片 胆囊胆固醇结晶 真假蜂蜜结晶图片 重结晶实验报告 矛盾结晶体怎么获得 双肾结晶要紧吗 双肾尿盐结晶 假蜂蜜结晶图片 苯甲酸重结晶 夏科雷登结晶 胆囊壁胆固醇结晶 怪物猎人深海结晶在哪里 蜂蜜为什么会结晶 怪物猎人世界深海结晶在哪里 高压锅提起麻黄草结晶土办法 结月恭子 附睾硬结一般几个月消失 新任母乳妻结月恭子 结月恭子母乳在线播放 结月恭子母乳在线看 月结 京东月结 结构 结构化面试 身体结构 结构面试 显微镜结构 画结构 阴道结构 是什么结构