Hive常用的属性配置及调优参数概述
Hive常用的属性配置及调优参数概述
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.hive常见配置属性
1>.配置数据仓库位置
<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>指定默认数据仓库存储在HDFS上的存储路径,通常我们使用默认值即可,当然你也可以进行自定义路径哟~</description> </property>
2>.显示表头信息
<property> <name>hive.cli.print.header</name> <value>true</value> <description> 当打印一张表时,是否显示表字段名称,默认值为false。通常情况下,在字段比较多时,我们可以将其值设置为true。 但有的开发很反感这样设置,在生产环境中,我将该值设置为true时,开发那边反馈会影响到它们代码的逻辑,只有隐藏表头字段信息程序才能正常运行,这找谁说理去,于是我又调回了默认值。 </description> </property>
3>.显示当前数据库
<property> <name>hive.cli.print.current.db</name> <value>true</value> <description> 当进入到hive交互式字符界面时,是否显示当前所在的数据库,默认值组织为false,即不显示当前所在的数据库。 生产环境中,我建议大家将该值设置为true。虽然说大数据运维人员很少操作hive数据仓库,基本上都是开发那边在操作,但将该值设置为true时,可以提醒操作者操作的是哪个数据仓库。 </description> </property>
4>.修改hive的日志运行级别
[root@hadoop105.yinzhengjie.com ~]# grep "property.hive.log.dir" ${HIVE_HOME}/conf/hive-log4j2.properties property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name} [root@hadoop105.yinzhengjie.com ~]# [root@hadoop105.yinzhengjie.com ~]# vim ${HIVE_HOME}/conf/hive-log4j2.properties [root@hadoop105.yinzhengjie.com ~]# [root@hadoop105.yinzhengjie.com ~]# grep "property.hive.log.dir" ${HIVE_HOME}/conf/hive-log4j2.properties # property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name} property.hive.log.dir = /yinzhengjie/softwares/hive/logs [root@hadoop105.yinzhengjie.com ~]# [root@hadoop105.yinzhengjie.com ~]# grep "^property.hive.log.dir" ${HIVE_HOME}/conf/hive-log4j2.properties property.hive.log.dir = /yinzhengjie/softwares/hive/logs [root@hadoop105.yinzhengjie.com ~]#
5>.参数配置方式
在之前的笔记中我分享了使用在hive命令行中定义变量名称("-d"选项),详情可参考:https://www.cnblogs.com/yinzhengjie2020/p/13912307.html 本次我们要介绍如何在命令行启动时,设置hive的默认参数配置,如下图所示。 配置hive参数的优先级顺序依次递增,其顺序如下所示: (1)在hive的默认配置文件中声明参数,即"/yinzhengjie/softwares/hive/conf/hive-default.xml.template"; (2)在hive的自定义配置文件中声明参数,即"/yinzhengjie/softwares/hive/conf/hive-site.xml"; (3)在启动hive时指定配置参数,如下图所示; (4)在hive交互式字符终端配置参数,如下图所示。
二.企业级调优
1>.
2>.
3>.
4>.
5>.
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。 欢迎加入基础架构自动化运维:598432640,大数据SRE进阶之路:959042252,DevOps进阶之路:526991186