如何抑制蜂巢警告

时间:2019-03-14 06:14:39

标签: hive

我是Hive的新手。尝试执行一个查询,该查询将数据输出到一个文件。

以下是我的查询:

  

hive -e“ SET hive.auto.convert.join = false;设置   hive.server2.logging.operation.level = NONE;设置mapreduce.map.memory.mb   = 16384; SET mapreduce.map.java.opts ='-Djava.net.preferIPv4Stack = true -Xmx13107M'; SET mapreduce.reduce.memory.mb = 13107; SET mapreduce.reduce.java.opts ='-Djava.net.preferIPv4Stack = true   -Xmx16384M';设置hive.support.concurrency = false; SET hive.exec.dynamic.partition = true; SET   hive.exec.dynamic.partition.mode = nonstrict;组   hive.exec.max.dynamic.partitions.pernode = 10000;设置   hive.exec.max.dynamic.partitions = 100000;组   hive.exec.max.created.files = 1000000; SET   mapreduce.input.fileinputformat.split.maxsize = 128000000;组   hive.hadoop.supports.splittable.combineinputformat = true;设置   hive.execution.engine = mr;设置hive.enforce.bucketing = true;蜂巢查询   在这里;“> / tmp / analysis

但是在/ tmp / analysis文件中,我可以看到警告以及以下内容。

警告:方法类org.apache.commons.logging.impl.SLF4JLogFactory#release()被调用。 警告:请参阅http://www.slf4j.org/codes.html#release以获得解释。

我该如何抑制呢?

2 个答案:

答案 0 :(得分:1)

来自Hive文档https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Cli

记录:

Hive使用log4j进行日志记录。默认情况下,CLI不会将日志发送到控制台。 对于0.13.0之前的Hive版本,默认日志记录级别为WARN。从Hive 0.13.0开始,默认日志记录级别为INFO。默认情况下,Hive将使用Hive安装目录node中的hive-log4j.default,它将日志写入conf/并使用/tmp/<userid>/hive.log级别。

通常希望将日志发送到标准输出和/或更改日志记录级别以用于调试。这些可以从命令行完成,如下所示:

WARN

$HIVE_HOME/bin/hive --hiveconf hive.root.logger=INFO,console 指定日志记录级别以及日志目标。将控制台指定为目标会将日志发送到标准错误(而不是日志文件)。

如果用户愿意,可以通过添加以下所示的参数将日志发送到控制台:

hive.root.logger

或者,用户只能通过使用以下命令来更改日志记录级别:

bin/hive --hiveconf hive.root.logger=INFO,console  //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,console

另一个日志记录选项是TimeBasedRollingPolicy(适用于Hive 1.1.0及更高版本,HIVE-9001),方法是提供DAILY选项,如下所示:

bin/hive --hiveconf hive.root.logger=INFO,DRFA //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,DRFA

希望有帮助!

答案 1 :(得分:0)

使用配置单元静默模式,该模式不会在输出中打印任何日志

hive -S -e "SET hive.auto.convert.join=false;set hive.server2.logging.operation.level=NONE;SET mapreduce.map.memory.mb = 16384; SET mapreduce.map.java.opts='-Djava.net.preferIPv4Stack=true -Xmx13107M';SET mapreduce.reduce.memory.mb = 13107; SET mapreduce.reduce.java.opts='-Djava.net.preferIPv4Stack=true -Xmx16384M';set hive.support.concurrency = false; SET hive.exec.dynamic.partition=true;SET hive.exec.dynamic.partition.mode=nonstrict; SET hive.exec.max.dynamic.partitions.pernode=10000;SET hive.exec.max.dynamic.partitions=100000; SET hive.exec.max.created.files=1000000;SET mapreduce.input.fileinputformat.split.maxsize=128000000; SET hive.hadoop.supports.splittable.combineinputformat=true;set hive.execution.engine=mr; set hive.enforce.bucketing = true;hive query over here;" > /tmp/analysis