0.缘起
在使用beeline跑hive查询时候会产生不少无用的INFO日志,这些日志看起来很是杂乱,以下图:java
如何在beeline窗口中去除多余的日志,使其看起来简洁一些呢?性能
1. HiveServer中的Logging配置
通常来讲,咱们会在Beeline客户端(Hive 0.14之后)看到HiveServer2操做日志。
如下为HiveServer2中与日志相关的参数:spa
参数 | 默认值 | 描述 |
hive.server2.logging.operation.enabled | true | 添加于Hive 0.14.0,若是为true,HiveServer2将保存操做日志并使其可供客户端使用。 |
hive.server2.logging.operation.log.location | ${java.io.tmpdir}/${user.name}/operation_logs | 添加于Hive 0.14.0. 若是启用了日志记录功能,则存储操做日志的顶级目录。 |
hive.server2.logging.operation.verbose(Hive 0.14到1.1) | false | 若是为true,则可用于客户端的HiveServer2操做日志将是详细的。 由hive.server2.logging.operation.level替换为Hive 1.2.0。 |
hive.server2.logging.operation.level(Hive 1.2之后) | EXECUTION | HiveServer2操做日志记录模式可供客户端在会话级别设置。 为此,hive.server2.logging.operation.enabled应设置为true。 其容许的值为: |
2. 解决方案
a) 在使用beeline时加入如下设置便可--hiveconf hive.server2.logging.operation.level=NONEcode
b) 或者在hive-site.xml中加入以下配置也能够禁用在beeline中显示额外信息server
<property> <name>hive.server2.logging.operation.enabled</name> <value>true</value> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>/opt/log/hive/operation_logs</value> </property>
3. 实战演示
bin/beeline --hiveconf hive.server2.logging.operation.level=NONE
输出:xml
果真是简洁了不少!嗯哼blog