hive学习笔记之map-side joins
2015-10-18 20:44
441 查看
在分布式计算框架中,其实表连接这类操作都是需要跨节点的,所以计算效率都比较慢。hive也是如此,针对表连接,hive在大表与小表进行连接时有个优化经常使用,就是map-side join。
比如:
select /*+ mapjoin(u)*/ u.user_id,l.time from user u join opera_log l on u.user_id=l.user_id where l.month='2015-10' ;
较早版本的hive是直接这么显示的使用map-side join
较新的版本舍弃了这种写法,直接使用如下替代:
set hive.auto.convert.join=true; //自动实现map side join
set hive.mapjoin.smalltable.filesize=25000000;//设置小表的数据文件的大小小于25M时,就使用mapside
select u.user_id,l.time from user u join opera_log l on u.user_id=l.user_id where l.month='2015-10' ;
比如:
select /*+ mapjoin(u)*/ u.user_id,l.time from user u join opera_log l on u.user_id=l.user_id where l.month='2015-10' ;
较早版本的hive是直接这么显示的使用map-side join
较新的版本舍弃了这种写法,直接使用如下替代:
set hive.auto.convert.join=true; //自动实现map side join
set hive.mapjoin.smalltable.filesize=25000000;//设置小表的数据文件的大小小于25M时,就使用mapside
select u.user_id,l.time from user u join opera_log l on u.user_id=l.user_id where l.month='2015-10' ;
相关文章推荐
- 分享Hive的一份胶片资料
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 将Hive的默认数据库Derby改为Postgresql
- kettle中对hive操作时需要知道的东西
- #Note# Analyzing Twitter Data with Apache Hadoo...
- [翻译]Hive wiki GettingStarted
- 启动hive命令报错 “Metastore contains multiple versions”
- sparksql与hive整合
- hive on spark 编译
- sqoop 中文文档 User guide 一
- sqoop 中文文档 User guide 二 import
- sqoop 中文文档 User guide 二 import续
- sqoop 中文文档 User guide 三 export
- sqoop 中文文档 User guide 四 validation
- sqoop 中文文档 User guide 五 job,metastore,merge,codegen
- sqoop 中文文档 User guide 六
- sqoop 中文文档 User guide 七
- Hadoop Hive的限制
- HIVEQL
- hive 安装配置