Hive--关联表(join)

时间:2021-07-08 04:20:27

在hive中,关联有4种方式

  • 内关联:join on
  • 左外关联:left join on
  • 右外关联:right join on
  • 全外关联:full join on

另外还有一种可实现hive笛卡儿积的效果(hive不支持笛卡儿积): 在on后面接为true的表达式,如on 1=1(需先设置非严格模式:set hive.mapred.mode=nonstrict);

详细操作和结果如下:

如我有两个表:join1和join2,如下

Hive--关联表(join)Hive--关联表(join)

内关联:select * from jion1 join join2 on jion1.id = jion2.id;

  • 作用:将表1和表2的字段id相同的内容 关联到一个表里。
  • 效果如下:

Hive--关联表(join)

左外连接:select * from jion1 left join join2 on jion1.id = jion2.id;

  • 作用:以join左边的表为标准进行连接(即保留左边表的字段值,右边表不符合on条件的用null表示)。
  • 效果如下:

Hive--关联表(join)

右外连接:select * from jion1 right join join2 on jion1.id = jion2.id;

  • 作用:以join右边的表为标准进行连接(即保留右边表的字段值,左边表不符合on条件的用null表示)。
  • 效果如下:

Hive--关联表(join)

全外连接:select * from jion1 full join join2 on jion1.id = jion2.id;

  • 作用:两个表连接,表留所有字段的值,不符合on条件的用null表示。
  • 效果如下:

Hive--关联表(join)

hive的”笛卡儿积“:select * from join1 join join2 on 1=1;

Hive--关联表(join)

Hive--关联表(join)的更多相关文章

  1. hive中大表join

    排序存储数据至BUCKETS,这样可以顺序进行join

  2. Hive中小表与大表关联(join)的性能分析【转】

    Hive中小表与大表关联(join)的性能分析 [转自:http://blog.sina.com.cn/s/blog_6ff05a2c01016j7n.html] 经常看到一些Hive优化的建议中说当 ...

  3. hive中与hbase外部表join时内存溢出(hive处理mapjoin的优化器机制)

    与hbase外部表(wizad_mdm_main)进行join出现问题: CREATE TABLE wizad_mdm_dev_lmj_edition_result as select *  from ...

  4. hadoop系列 第二坑: hive hbase关联表问题

    关键词: hive创建表卡住了 创建hive和hbase关联表卡住了 其实针对这一问题在info级别的日志下是看出哪里有问题的(为什么只能在debug下才能看见呢,不太理解开发者的想法). 以调试模式 ...

  5. 大数据开发实战:Hive优化实战3-大表join大表优化

    5.大表join大表优化 如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题.首先引入一个具体的问题场景,然后基于此介绍各自优 ...

  6. 大数据开发实战:Hive优化实战2-大表join小表优化

    4.大表join小表优化 和join相关的优化主要分为mapjoin可以解决的优化(即大表join小表)和mapjoin无法解决的优化(即大表join大表),前者相对容易解决,后者较难,比较麻烦. 首 ...

  7. springboot中使用JOIN实现关联表查询

    * 首先要确保你的表和想要关联的表有外键连接 repository中添加接口JpaSpecificationExecutor<?>,就可以使用springboot jpa 提供的API了. ...

  8. Hive优化-大表join大表优化

    Hive优化-大表join大表优化 5.大表join大表优化 如果Hive优化实战2中mapjoin中小表dim_seller很大呢?比如超过了1GB大小?这种就是大表join大表的问题.首先引入一个 ...

  9. hive join 优化 --小表join大表

    1.小.大表 join 在小表和大表进行join时,将小表放在前边,效率会高.hive会将小表进行缓存. 2.mapjoin 使用mapjoin将小表放入内存,在map端和大表逐一匹配.从而省去red ...

  10. mysql 中LIKE 与FIND&lowbar;IN&lowbar;SET 与关联表left join 速度效率比较

    有一张表Table有IDStr字段,如下只显示二个字段还有很多其他字段 方式一 字段逗号分割,直接用UserIDStr字段,里面存多个ID用逗号分割 UUID UserIDStr 1111 1,2,3 ...

随机推荐

  1. VirtualBox Guest Additions 在CentOS中无法安装的解决方法

    安装时出现一步错误查看log为(log文件是 /var/log/vboxadd-install.log): /tmp/vbox.0/Makefile.include.header:94: *** Er ...

  2. css3的transition过渡

    从*开始样式*,经过指定*时间*后,缓慢过渡到*结束样式* 语法:transition:要变化的属性名 持续时间 速度变化类型 延迟 强调:写在开始样式中 如何实现多个属性同时过渡:2种办法: 1. ...

  3. VMware ESXi 5&period;5创建虚拟机

    1.用鼠标右键单击连接到的IP地址,在弹出的快捷菜单中选择“新建虚拟机”选项,或者按“Ctrl+N”热键. 2.选择自定义 3.自定义服务器名称,并且名称最好是英文而且名称需要是唯一的. 4.选择本地 ...

  4. 如何手动把jar包添加进Maven本地仓库

    有以下两种情况你需要手动通过Maven命令把jar文件添加进本地仓库: 1.在中心仓库里没有你想要的jar包. 2.你自己写了一个jar包,在其他项目要用到. 补充:现在仍有很多jar包不支持Mave ...

  5. trim合理和谐

    今天早上,到公司,噩耗传来.上周的上线的功能出现问题,后台mis中有数据不能保存了. 经过紧张的查找,还是我的问题.有一个查重操作,在查重前,会比对新旧值,新值顺手trim了.旧值直接保存了. 在比较 ...

  6. 【HDOJ】4737 A Bit Fun

    水题.不过题目很有趣儿. #include <cstdio> #define MAXN 100005 int a[MAXN]; int main() { int t, n, m; int ...

  7. PropertyGrid—默认属性,默认事件,属性默认值

    零.引言 PropertyGrid显示一个对象的属性和事件时,可以设置其默认属性和事件,也就是当你选中对象时,propertyGrid中焦点在哪一个属性或事件上.为对象的属性提供默认值,使Proper ...

  8. 海量数据集利用Minhash寻找相似的集合【推荐优化】

    MinHash 首先它是一种基于 Jaccard Index 相似度的算法,也是一种 LSH 的降维的方法,应用于大数据集的相似度检索.推荐系统.下边按我的理解介绍下MinHash 问题背景 给出N个 ...

  9. matlab中 mcc&sol;mbuild&sol;mex 区别

    mcc 的作用是将 .m文件编译为 c/c++动态链接库文件,使你可以在 c/c++程序中使用 matlab的一些函数功能.mcc 也可以将.m文件编译为exe可执行文件. mex 的作用是将 c/c ...

  10. CentOS7 安装 MySQL8&period;0

    [1]安装步骤过程 (1)yum仓库下载MySQL 命令:yum localinstall https://repo.mysql.com//mysql80-community-release-el7- ...