栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive调优笔记(一)

Hive调优笔记(一)

一、本地模式与Fetch设置
<-- 1、文件: hive-default.xml.template-->

<-- 2.1、在全局查找、字段查找、 limit查找等都不走MR-->
hive.fetch.task.conversion=more
<-- 2.2、所有查询全走MR-->
hive.fetch.task.conversion=none

<-- 3.1、开启本地MR,对于小数据集,执行时间可以明显被缩短-->
hive.exec.mode.local.auto=true
<-- 3.2、设置 local mr 的最大输入数据量,当输入数据量小于这个值时采用 local mr 的方式,默认为 134217728 ,即 128M-->
set hive.exec .mode.local.auto.inputbytes.max=50000000;
<-- 3.3、设置 local mr 的最大输入文件个数,当输入文件个数小于这个值时采用 local mr 的方式,默认为 4-->
set hive.exec.mode.local.auto.input.files.max=10;
二、分区、分桶
# 分区表是将文件按目录分类进行存放(切分目录)
# 分桶表是将文件内容分类进行存放(切分文件),多用于抽样
select * from test_a tablesample(bucket 1 out of 4 on id);
三、group by
1、是否在 Map 端进行聚合,默认为 True
set hive.map.aggr = true

2、在 Map 端进行聚合操作的条目数目
set hive.groupby.mapaggr.checkinterval = 100000

3、将相同的 Group By Key 有可能被分发到不同的 Reduce中,从而达到负载均衡的目的
set hive.groupby.skewindata = true
四、批处理 Vectorization
# 一次处理多行数据,而不是一次处理一行
set hive.vectorized.execution.enabled true;
set hive.vectorized.execution.reduce.enabled true;
五、多重模式
from student
insert into t_ptn partition(city=A) select id,name,sex, age where city= A
insert into t_ptn partiti on(city=B) select id,name,sex, age where city= B;
六、in/exists 改为left semi join
只会展示a表的数据,left semi join只会将b表的join key提出用作计算,所以b表的任何信息都不会被查出
select * from a left semi join b on a.id = b.id;
等价于
select a.* from a where a.id in (select id from b);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/682479.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号