当前位置: 首页 > news >正文

Hive任务优化(2)

JOIN优化

 

1.大多数情况下,Hive会对每对Join连接对象启动一个MapReduce任务。

2.多表关联时,如果每个ON子句都使用相同的连接键的话,那么只会产生一个MapReduce Job。

3.Hive总是按照从左到右的顺序执行。Hive会假定最后一张表是最大的表,在对每行记录进行连接操作时,它会将其他表进行缓存,然后扫描最后那个表进行计算。因此一般将最大表放置最后关联。也可以提供标记,显式告知最大表

/*+STREAMTABLE(s)*/
SELECT /*+STREAMTABLE(s)*/ s.ymd,s.symbol,s.price_close,d.dividend FROM stock s JOIN dividends d  ON s.ymd=d.ymd AND s.symbol=d.symbol WHERE s.symbol='APPL'

 

4.map-side join

如果所有表中只有一张表是小表,可以在最大表通过mapper的时候将小表放入内存中。

/*+MAPJOIN(d)*/

 

转载于:https://www.cnblogs.com/Dhouse/p/7159349.html

相关文章:

  • Maven classpath
  • java编译变量的正确写法和控制台输入
  • 搜索引擎高级搜索语法
  • SQL索引基础
  • Node.js 之 HTTP实现详细分析
  • 断言
  • html相关
  • 4、使用WebAPITestClient
  • 王自如与老罗的辩论赛谁赢了?!
  • 01背包模板
  • jQuery的masonry插件实现瀑布流布局
  • Mongo基本使用:
  • “可信网站”真的可信吗?
  • 安装wdcp linux一键安装包云系统客户端教程
  • HDU 5547 Sudoku(DFS)
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • iOS | NSProxy
  • MySQL-事务管理(基础)
  • ng6--错误信息小结(持续更新)
  • PAT A1092
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Vue 动态创建 component
  • Web设计流程优化:网页效果图设计新思路
  • 包装类对象
  • 前嗅ForeSpider中数据浏览界面介绍
  • 小程序开发之路(一)
  • 用 Swift 编写面向协议的视图
  • ionic异常记录
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​业务双活的数据切换思路设计(下)
  • # C++之functional库用法整理
  • $forceUpdate()函数
  • (4)logging(日志模块)
  • (分布式缓存)Redis哨兵
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (强烈推荐)移动端音视频从零到上手(上)
  • (四)linux文件内容查看
  • *p++,*(p++),*++p,(*p)++区别?
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core 项目指定SDK版本
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net wcf memory gates checking failed
  • .netcore如何运行环境安装到Linux服务器
  • .NET大文件上传知识整理
  • .NET分布式缓存Memcached从入门到实战
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • []Telit UC864E 拨号上网
  • [100天算法】-x 的平方根(day 61)
  • [17]JAVAEE-HTTP协议
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [C++]priority_queue的介绍及模拟实现