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 。