2019独角兽企业重金招聘Python工程师标准>>>

shaomn (2013-08-01 13:39:06):

select/*+ mapjoin(a)*/ a.* from sma a left outer join smb b on a.k=b.k;
FAILED: Error in semantic analysis: MAPJOIN cannot be performed with OUTER JOIN

select/*+ mapjoin(b)*/ a.* from sma a left outer join smb b on a.k=b.k;
Total MapReduce jobs = 1
Execution log at: /tmp/dwapp/dwapp_20130801133737_5696fa81-3104-450d-a4f5-fb5358bdda46.log

从表就可以

主表mapjoin不行

求教原理

卓荦 (2013-08-01 13:40:41):

右表可以左表不行

因为left outer join 至少会包含左表所有结果

shaomn (2013-08-01 13:42:04):

包含左表所有结果, 是不是说主表如果做了mapjoin,数据就会翻翻

卓荦 (2013-08-01 13:42:33):

所以只能是分发左表,遍历左表在右查,不能反过来

切分左表,分发右表

所以只能是切分左表,分发右表,遍历左表在右查,不能反过来

所以一般情况下,left outer join 用于 事实 join 维度,左表全是大表,事实表

shaomn (2013-08-01 13:44:12):

学些了

学习了

劢熙 (2013-08-01 14:04:53):

jion左表是 小表吧,

李元 (2013-08-01 14:05:25):

荦爷威武

卓荦 (2013-08-01 14:07:38):

@劢熙 left join,右表小

劢熙 (2013-08-01 14:12:28):

荦爷  outer join 右表小, inner join 左表小?

卓荦 (2013-08-01 14:18:01):

reduce join的情况下,reduce端,按key分发后,左边n-1个表会在内存里,遍历第n个表,在内存 中匹配,这时,左表越均匀(越小)越好
map join不一样,小表直接全进内存,所以是右表小好些

刚才我们讨论的是left join在map join的情况,也就是第二种

玄木 (2013-08-01 16:37:12):

荦爷, 也就是说 map join  对于  left outer join  需要 右表小, 而对于reduce join  则是 最右边的表最大.  对不 ?

卓荦 (2013-08-01 16:39:29):

对的

转载于:https://my.oschina.net/Chanthon/blog/149357

Hive旺旺讨论(关于mapjoin)相关推荐

  1. Hive中JOIN的使用入门

    Hive中join的用法 Hive中Join的通常使用有以下几种: inner join 等值连接 left join  right join  full join left semi join cr ...

  2. 窗口函数和hive优化简记

    窗口函数: (1) OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化.常用partition by 分区order by排序. (2)CURRENT ROW:当前行 ...

  3. hive中groupby优化_Hive 查询优化总结

    一.join优化 Join查找操作的基本原则:应该将条目少的表/子查询放在Join操作符的左边.原因是在Join操作的Reduce阶段,位于Join操作符左边的表的内容会被加载进内存,将条目少的表放在 ...

  4. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  5. Hive map side join入门及测试

    什么是MapJoin? MapJoin顾名思义,就是在Map阶段进行表之间的连接.而不需要进入到Reduce阶段才进行连接.这样就节省了在Shuffle阶段时要进行的大量数据传输.从而起到了优化作业的 ...

  6. Hive基础学习文档和入门教程

    问题导读 1.hive除了包含用户接口.元数据,还包含哪些内容? 2.hive包含哪些操作? 3.hive数据能否被修改? 4.hive优化有哪些常用方法? 摘要: Hive 是建立在 Hadoop ...

  7. hive常用的函数以及知识

    1.Hive:insert into table 与 insert overwrite table 区别 不清理以上已经插入的记录,直接执行insert overwirte,并查询分析结果 两者的异同 ...

  8. [一起学Hive]之十二-Hive SQL的优化

    十一.Hive SQL的优化 本章只是从HQL层面介绍一下,日常开发HQL中需要注意的一些优化点,不涉及Hadoop层面的参数.配置等优化. 其中大部分是我之前发过的博客文章,这里整理了下. 11.1 ...

  9. Hive的HQL语句及数据倾斜解决方案

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51675005 作者: 朱培          ID ...

最新文章

  1. 收藏!PyTorch常用代码段合集
  2. RStudio启动后修改文件(数据)读取默认目录
  3. 库克:苹果收取 30% 佣金很合理!
  4. ANDROID STUDIO 2.2 来啦
  5. tableau可视化数据分析60讲(二)-tableau入门篇之各模块功能介绍
  6. 清除掉AD的相关属性!
  7. 使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)
  8. WMI介绍和应用查询硬件信息(硬盘信息、主板信息、BIOS信息、显示器信息、网络适配器、CPU信息)
  9. Keras-9 实现Seq2Seq
  10. 坚持练字一年是什么样的体验?
  11. java开源社区 推荐_13 个最火的 Java 开源项目推荐!总有一个适合你!
  12. 优化算法——差分进化算法(DE)
  13. python 视频 特效,Python实现高级电影特效
  14. JavaScript中怪异现象true和false
  15. Mac电脑程序无响应怎么办?
  16. 开发游戏十年,遭遇游戏开发史上最诡异事件,然而被我成功解决了!
  17. 电商宝打单发货-菜鸟面单回收
  18. 百万前端之js通过链接生成二维码可以保存下载复制
  19. 想要搭建自己的云主机可以怎么做
  20. ipip.net IP位置信誉信息爬取

热门文章

  1. java和android 语法区别_病症解析:语言发育迟缓和自闭症的联系与区别
  2. 一样入职的应届生工资不一样_刘涛入职阿里:为什么阿里要招聘明星?明星入职和普通人一样吗...
  3. 伯克利计算机科学研究生,加州大学伯克利分校
  4. mysql删除n行_订购记录并在MySQL中删除n行
  5. 网站负责人委托书_关于网站负责人授权委托书的阿里云网站内容
  6. php分页循环生成htnl,PHP分页类,生成分页html字符串
  7. Html图片懒加载动画,Intersection Observer实现滚动到相应区域执行动画及图片懒加载...
  8. java中 d_Java 中的 syncronized 你真的用对了吗
  9. 文件服务器+好处,文件服务器 好处
  10. Java语言之数组_java语言之数组-----选择排序