Hive常见属性配置总结

tech2022-08-22  126

Hive常见属性配置总结

1.概述

和其他所有框架一样,hive的配置信息也是划分层级的,就近原则如果是使用java api进行操作,则代码中配置优先级最高,然后是java项目中配置文件,然后是hive安装目录中的配置文件如果是shell 客户端进行操作,则hive指令中参数优先级最高,然后是shell客户端启动时的配置信息,然后是hive安装目录中配置。

2. 具体配置

Hive数据仓库位置配置 Default数据仓库的最原始位置是在hdfs上的:/user/hive/warehouse路径下。

在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹。

修改default数据仓库原始位置(将hive-default.xml.template如下配置信息拷贝到hive-site.xml文件中)。

<property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> <description>location of default database for the warehouse</description> </property>

配置同组用户有执行权限

# 注意这是hdfs的指令,hive的数据存储在hdfs中,所以一些相关配置会和hdfs相关 hdfs dfs -chmod g+w /user/hive/warehouse 查询后信息显示配置 在hive-site.xml文件中添加如下配置信息,就可以实现显示当前数据库,以及查询表的头信息配置。 <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> 重新启动hive,对比配置前后差异 Hive运行日志信息配置 Hive的log默认存放在/tmp/root/hive.log目录下(当前用户名下) 修改hive的log存放日志到/opt/apps/hive/logs(hive安装目录下的logs文件夹)

修改/opt/apps/hive/conf/hive-log4j.properties.template文件名称为 hive-log4j.properties

mv hive-log4j.properties.template hive-log4j.properties 在hive-log4j.properties文件中修改log存放位置 hive.log.dir=/opt/apps/hive/logs

3. 参数配置方式

3.1. 查看当前所有的配置信息

set;

3.2. 参数配置三种方式

配置文件方式 默认配置文件:hive-default.xml 用户自定义配置文件:hive-site.xml 用户自定义配置会覆盖默认配置,这也是自然而然地设计思路。 Hive会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置 配置文件的设定对本机启动的所有Hive进程都有效命令行参数方式 启动Hive 的shell 客户端时,可以在命令行添加-hiveconf param=value来设定参数 hive -hiveconf mapred.reduce.tasks=10; # hive客户端内,设置参数 # 这个指令是查看 set mapred.reduce.tasks; # 设置本地执行,以下2个指令都可以,见名知意 set mapreduce.framework.name=local; set hive.exec.mode.local.auto=true;

这种方式只对本次hive会话有效 3. 参数声明方式 HQL中使用SET关键字设定参数

set mapred.reduce.tasks=100;

只对当此hive会话有效

# 查看参数设置信息 set mapred.reduce.tasks;

优先级,就近原则: 即配置文件<命令行参数<参数声明

注意,某些参数需要配置在配置文件或者命令行参数中,因为hive启动时,需要去读取配置参数。

最新回复(0)