先说结论,再举例子。
 
hive中,left join与left outer join等价。
 
left semi join与left outer join的区别:left semi join相当于in,即会过滤掉左表中join不到右表的行,右表中有多行能join到时显示一行,并且只输出左表的字段、不输出右表的字段;left outer join不会过滤掉左表中的行,右表中有多行能join到时显示多行,并且能够同时输出左表和右表中的字段。
 
以下为不同语句的效果比对,环境:Hive 1.1.0。
 
基础表tb1:
select * from tb1;
tb1.k tb1.v
a 2
b 3
 
基础表tb2:
select * from tb2;
tb2.k tb2.v
a 3
a 2
b 2
 
left join:
select * from tb1 left join tb2 on tb1.k=tb2.k;
tb1.k tb1.v tb2.k tb2.v
a 2 a 3
a 2 a 2
b 3 b 2
 
left outer join:
select * from tb1 left outer join tb2 on tb1.k=tb2.k;
tb1.k tb1.v tb2.k tb2.v
a 2 a 3
a 2 a 2
b 3 b 2
 
left semi join:
select * from tb1 left semi join tb2 on tb1.k=tb2.k;
tb1.k tb1.v
a 2
b 3
 

hive中left join、left outer join和left semi join的区别的更多相关文章

  1. HIVE中join、semi join、outer join

    补充说明 left outer join where is not null与left semi join的联系与区别:两者均可实现exists in操作,不同的是,前者允许右表的字段在select或 ...

  2. HIVE中join、semi join、outer join举例详解

    转自 http://www.cnblogs.com/xd502djj/archive/2013/01/18/2866662.html 举例子: hive> select * from zz0;  ...

  3. Hive中JOIN操作

    1. 只支持相等JOIN. 2. 多表连接当使用不同的列进行JOIN时,会产生多个MR作业. 3. 最后的表的数据是从流中读取,而前面的会在内存中缓存,因此最好把最大的表放在最后. SELECT /* ...

  4. hive中的子查询改join操作(转)

    这些子查询在oracle和mysql等数据库中都能执行,但是在hive中却不支持,但是我们可以把这些查询语句改为join操作: -- 1.子查询 select * from A a where a.u ...

  5. 061 hive中的三种join与数据倾斜

    一:hive中的三种join 1.map join 应用场景:小表join大表 一:设置mapjoin的方式: )如果有一张表是小表,小表将自动执行map join. 默认是true. <pro ...

  6. Hive 中Join的专题---Join详解

    1.什么是等值连接? 2.hive转换多表join时,如果每个表在join字句中,使用的都是同一个列,该如何处理? 3.LEFT,RIGHT,FULL OUTER连接的作用是什么? 4.LEFT或RI ...

  7. Hive中Join的类型和用法

    关键字:Hive Join.Hive LEFT|RIGTH|FULL OUTER JOIN.Hive LEFT SEMI JOIN.Hive Cross Join Hive中除了支持和传统数据库中一样 ...

  8. hive中的join

    建表 : jdbc:hive2://localhost:10000> create database myjoin; No rows affected (3.78 seconds) : jdbc ...

  9. 大数据学习——关于hive中的各种join

    准备数据 2,b 3,c 4,d 7,y 8,u 2,bb 3,cc 7,yy 9,pp 建表: create table a(id int,name string) row format delim ...

随机推荐

  1. vue开发移动端项目 过渡动画问题

     App.vue:  <div id="app"> <div class="content"> <transition :name ...

  2. WDA基础一:激活相关服务

    一个普通得系统,如果之前没动过相关配置而又想做做WDA程序,是需要激活几个服务的. 1.激活服务 事务码:SICF 默认SERVICE,执行. Service:default_host/sap/opt ...

  3. MySQL5.6复制技术(1)-原理详解

    SQL复制功能介绍 MySQL内建的复制功能是构建大型,高性能应用程序的基础.这类应用使用所谓的“水平扩展”的架构.我们可以通过为服务器配置一个或多个备库的方式来进行数据同步,将MySQL的数据分布到 ...

  4. Node+Express的跨域访问控制问题:Access-Control-Allow-Origin

    问题一:项目A通过Ajax访问项目B的接口,获取json数据,项目B采用Node+Express技术栈.项目A可能遇到跨域访问控制问题. 问题二:vue-resource 能够跨域,一般使用jsonp ...

  5. Nodejs--url模块

    由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数. url 模块中的 parse 函数可以用于解析url中的参数. url ...

  6. Qt Widgets——抽象旋转框及其继承类

    默认外观分别如下(win7,与上述顺序对应): 可看出,都是由一个可编辑的文本框及右端小箭头组成 QAbstractSpinBox 属性简单解释如下: Properties accelerated : ...

  7. iperf测试工具

    一.iperf工具安装: 1.获取iperf源码安装包(iperf-3.0.5.tar.gz) 2.将iperf安装包上传到服务器/tmp/目录并解压 [root@localhost /]#cd /t ...

  8. 牛客网 PAT 算法历年真题 1001 : A+B和C (15)

    1001 : A+B和C (15) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard 题目描述 给定区间[-2的31次方, 2的31次方]内 ...

  9. axure rp安装

    axure rp安装 1◆ axure rp 文件下载   2◆创建安装目录     3◆ 安装图解 4◆汉化 替换   5◆ 使用   success     1★AxureRP 8.0安装包 2★ ...

  10. Linux安装Nginx报错: ./configure: error: C compiler cc is not found

    CentOS 7.3 下 安装 Nginx 执行配置命令 ./configure 时提示以下错误: checking for OS + Linux 2.6.32-431.el6.x86_64 x86_ ...