面试重点 hive的优化及hive安装出现问题的解决方案

一、安装时出现问题
1.检查hive-site.xml是否配置正确
检查主机名是否更换
检查mysql账号密码是否正确
2.检查hive/lib下是否有mysql驱动包
3.检查hadoop服务是否开启
4.检查mysql的服务是否启动
5.检查mysql远程访问权限是否打开
配置后重新启动mysql服务

三个方面
一、减少代码量
二、从硬件上来说
三、设置参数
(开启动态分区) set hive.exec.dynamic.partition.mode=nonstrict;
(每个节点生成的动态分区的最大个数 默认100 ) set hive.exec.max.dynamic.partitions.pernode=10000;

(一个DML操作可以创建的最大动态分区数,默认是1000) set hive.exec.max.dynamic.partitions=100000;

如果内存溢出:
(减少set mapred.max.split.size的值,增加map的数量,增加map内存) set mapred.max.split.size=25600000;
(设置map内存) set mapreduce.map.memory.mb=8192 默认1024;
(设置reduce内存) set mapreduce.redyce.memory.mb=8192;
(设置堆内存) mapred.child.java.opts=-Xmx6144m;map%75
(设置并行执行) set hive.exec.parallel=true;
(设置中间结果压缩) set mapred.map.output.compression.codec=org.apache.Hadoop.io.compress.SnappyCodec;
(如果发生数据倾斜,可以尝试设置此参数) hive.groupby.skewindata = true;数据倾斜先聚合一下然后再处理
hive.merge.mapfiles; //设置map读取数据是合并小文件
hive.exec.parallel; //任务并行执行
hive.exec.reducers.bytes.per.reducer //多少个字节的数据产生一个reduce
hive.exec.reducers.max //reduce的最大个数
hive.exec.default.partition.name //hive默认分区名字,碰到值为空或者null,数据就到默认分区
hive.exec.mode.local.auto //决定Hive是否应该自动地根据输入文件大小,在本地运行
hive.auto.convert.join //开关map join模式
hive.groupby.skewindata //数据倾斜

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值