任务1:Hive 数据仓库位置配置
-
default 数据仓库的最原始位置是在 HDFS 上的:
/user/hive/warehouse
路径下。 -
在仓库目录下,没有对默认的数据库 default 创建文件夹。如果某张表属于 default 数据库,直接在数据仓库 /user/hive/warehouse 目录下创建一个文件夹。
-
要想修改 default 数据仓库原始位置,方式是将 hive-default.xml.template 如下配置信息拷贝到 hive-site.xml 文件中,并将 value 值修改为自己想要的 HDFS 路径。
<!--Hive默认数据库的位置 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
任务2:查询后信息显示配置
Hive 中默认是不显示当前使用的数据库和查询表的头信息的,我们可以在 hive-default.xml.template 配置文件中查询涉及这两项内容的默认配置:
<!-- 客户端显示当前数据库名称信息 -->
<property>
<name>hive.cli.print.current.db</name>
<value>false</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
<!-- 客户端显示当前查询表的头信息 -->
<property>
<name>hive.cli.print.header</name>
<value>false</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
为了让 Hive 使用起来更便捷,我们可以在 hive-site.xml 文件中添加如下配置信息,这样就可以实现显示当前数据库,以及查询表的头信息配置了。
<!-- 客户端显示当前数据库名称信息,默认为false -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
<!-- 客户端显示当前查询表的头信息,默认为false -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
<description>Whether to print the names of the columns in query output.</description>
</property>
在任意目录下使用 Hive 的三种连接方式之一:CLI 启动 Hive。对比配置前后差异。
hive
或者
hive --service cli
配置前,如下图所示:
配置后,如下图所示:
任务3:Hive 运行日志信息配置
- 在很多程序中,我们都可以通过输出日志的形式来得到程序运行情况,通过这些输出日志来调试程序,Hive也不例外。在Hive中,使用的是 Log4j 来输出日志,默认情况下,CLI 是不能将日志信息输出到控制台的。 在 Hive0.13.0 之前的版本,默认的日志级别是 WARN,在 Hive0.13.0 开始,默认的日志级别是 INFO。默认的日志存放在/tmp/$ {user.name}文件夹的hive.log文件中,全路径就是/tmp/$ {user.name}/hive.log。
- 在${HIVE_HOME}/conf/hive-log4j2.properties.template 文件中记录了Hive日志的存储情况,默认的存储情况如下所示:
property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name} # 默认的存储位置
property.hive.log.file = hive.log # 默认的文件名
我们可以通过修改以上两个参数的值来重新设置 Hive log 日志的存放地址。
首先,将 ${HIVE_HOME}/conf 目录下的 hive-log4j2.properties.template 文件复制一份并重命名为 hive-log4j2.properties,具体命令如下所示:
cp hive-log4j2.properties.template hive-log4j2.properties
效果图如下所示:
之后使用 vi 编辑器进行编辑,将 Hive 日志配置到 /root/hivelog/hive.log 文件中。
property.hive.log.dir = /root/hivelog
property.hive.log.file = hive.log
重新启动 Hive,验证新的日志文件是否自动创建:
从上图可以看出,我们成功将 Hive 日志存放路径修改为 /root/hivelog/hive.log 。