2.3 Hive 常见属性配置

任务目的

  • 了解 Hive 数据仓库位置的相关配置信息
  • 掌握在客户端显示当前数据库以及表头信息的配置步骤
  • 了解 Hive 运行日志相关的配置信息

任务清单

  • 任务1:Hive 数据仓库位置配置
  • 任务2:查询后信息显示配置
  • 任务3:Hive 运行日志信息配置

任务步骤

任务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

  配置前,如下图所示:

Vditor

图1:配置前

  配置后,如下图所示:

Vditor

图2:配置后

任务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

  效果图如下所示:

Vditor

图3

  之后使用 vi 编辑器进行编辑,将 Hive 日志配置到 /root/hivelog/hive.log 文件中。

property.hive.log.dir = /root/hivelog
property.hive.log.file = hive.log

​ 重新启动 Hive,验证新的日志文件是否自动创建:

Vditor

图4

​ 从上图可以看出,我们成功将 Hive 日志存放路径修改为 /root/hivelog/hive.log 。

猜你喜欢

转载自blog.csdn.net/c_lanxiaofang/article/details/107126651
2.3
今日推荐