赞
踩
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>
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
配置前,如下图所示:
图1:配置前
配置后,如下图所示:
图2:配置后
在很多程序中,我们都可以通过输出日志的形式来得到程序运行情况,通过这些输出日志来调试程序,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
效果图如下所示:
图3
之后使用 vi 编辑器进行编辑,将 Hive 日志配置到 /root/hivelog/hive.log 文件中。
- property.hive.log.dir = /root/hivelog
- property.hive.log.file = hive.log
重新启动 Hive,验证新的日志文件是否自动创建:
图4
从上图可以看出,我们成功将 Hive 日志存放路径修改为 /root/hivelog/hive.log 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。