`

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

    博客分类:
  • hive
 
阅读更多

举例子:

hive> select * from zz0; 
111111 
222222 
888888 
hive> select * from zz1; 
111111 
333333 
444444 
888888

hive> select * from zz0 join zz1 on zz0.uid = zz1.uid; 
111111  111111 
888888  888888 
hive> select * from zz0 left outer join zz1 on zz0.uid = zz1.uid; 
111111  111111 
222222  NULL 
888888  888888 
hive> select * from zz0 right outer join zz1 on zz0.uid = zz1.uid; 
NULL 
111111  111111 
NULL    333333 
NULL    444444 
888888  888888 
hive> select * from zz0 full outer join zz1 on zz0.uid = zz1.uid; 
NULL 
111111  111111 
222222  NULL 
NULL    333333 
NULL    444444 
888888  888888 
hive> select * from zz0 left semi join zz1 on zz0.uid = zz1.uid; 
111111  
888888 

 

 

所谓的左半连接:  左连接就是展示左边表的东西 半就是展示半拉,就是只展示左表的东西

那么展示左表的那些东西呢? ---> 只展示左表中能根据条件匹配到右表的左表数值,

上面例子中根据 zz0.uid = zz1.uid 那么左表中只有 11111  88888能符合条件在右侧表zz1中找到

因此就只展示左侧表的 11111 88888,

如果在  select 左表字段, 右侧表.字段 left semi join

那么会报错,

这个报错是以前做的案例, Invalid table alias or column reference 'b': (possible column names are: id, name)

就是说只能展示左侧表的字段。

 

细节见:

HIVE中Join的专题---Join详解 http://www.aboutyun.com/thread-7392-1-1.html 

分享到:
评论

相关推荐

    SQL left join

    SQL left join用法,初学者应用

    使用Hive进行join查询的时报错

    NULL 博文链接:https://weigang-gao.iteye.com/blog/2260663

    Hive中SQL详解

    Hive中SQL详解

    Hive Summit 2011-join

    facebook hive中的各种join策略的slides,reporter是个Chinese。

    hive 中join和Group的优化

    set hive.map.aggr = true; //是否在 Map 端进行聚合,默认为 True ;该设置会消耗更多的内存。 set hive.groupby.mapaggr.checkinterval = 100000000; //在 Map 端进行聚合操作的条目数目 set hive.groupby....

    【63课时完整版】大数据实践HIVE详解及实战

    50.Hive中的数据倾斜及解决方案-三种join方式 51.Hive中的数据倾斜及解决方案-group by 52.Hive中使用正则加载数据 53. Hive中使用Python脚本进行预处理 第5章:Zeus任务资源调度工具 54.资源任务调度框架介绍 55....

    HIVE安装及详解

    HIVE安装及详解,及测试,该文档版本是1.2+的。。。。。

    Hive基础,详解介绍HIVESQL中的语法

    Hive基础,详解介绍HIVESQL中的语法

    HIVE函数详解大全

    HIVE函数大全,包括目前HIVE可用的所有函数,里面有详细说明。HIVE是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。

    Hive-Summit-2011-join.zip_hive

    Hive: Join Strategies. Facebook summit-2011

    hive练习数据和练习题及答案

    hive练习数据和hive练习题包含了hive练习数据,hive数据的建表ddl和hive练习题,非常适合做hive练习,新手培训,快速...LEFT SEMI JOIN Hive当前没有实现 IN/EXISTS 子查询,可以用 LEFT SEMI JOIN 重写子查询语句。

    hive sql + left join 数据缺失

    hive sql + left join 数据缺失

    Hive on Spark EXPLAIN statement

    Hive on Spark EXPLAIN statement : 讲述了 Common Join / Map join / Bucket Map Join / Sorted Merge Bucket Map Join / skew join 在explain 中的 树结构 。In Hive, command EXPLAIN can be used to show the ...

    hive入门级详解

    hive入门级详解,包括数仓与传统数据库的比对,hive的存储结构与存储原理,分区分桶、hql如何转换成mapreduce、UDF自定义函数等

    hive参数配置说明大全

    hive参数配置说明大全,详细说个各个参数的作用用法

    利用Hive进行复杂用户行为大数据分析及优化案例

    利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件...14_Hive中的数据倾斜及解决方案-三种join方式 15_Hive中的数据倾斜及解决方案-group by 16_Hive中使用正则加载数据 17_Hive中使用Python脚本进行预处理

    Hive语法详解

    Hive语法详解: 包括DDL,DML,DQL语法; Hive内置函数及自定义函数; Hive窗口函数及行列转换; hive常见优化

    Apache Hive 中文手册_hive_

    Apache Hive 是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供...

    部分普通sql查询在hive中的实现方式

    部分普通sql查询在hive中的实现方式详细说明;

    分布式数据仓库Hive大全

    8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 ...

Global site tag (gtag.js) - Google Analytics