HIVE 和 join 有关的优化问题

大表 join 小表:

分析性能不好的原因:

大表 join 小表其底层采用的是 mapReduce 计算,在默认无优化的情况下,会伴随数据大表和小表的数据一同进入 reduce 阶段,进行计算,这时往往数据移动量比较大,造成 IO 效率和 IO 压力比较大,使得计算效率下降

解决的办法:MapJoin 机制策略

使用 MapJoin 机制策略,这是专门解决大表和小表 join 的最有效策略。

该策略的运行原理:1. 顾名思义,在 map 端就进行 join 操作;

                                  2. 将小表的数据移动到大表所在的机器上,从而完成大表数据不移动的前提下,跟小表数据进行 join 计算。

该策略的注意事项:

        小表数据多小算小?(两个核心参数要注意)

        hive.auto.convert.join  默认为  true

        hive.mapjoin.smalltable.filesize   默认为  25000000 即为 25M

大表 join 大表

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值