Hive 如何抑制蜂巢警告

Hive 如何抑制蜂巢警告,hive,Hive,我是新来的蜂巢。正在尝试执行一个将数据输出到一个文件的查询 以下是我的疑问: 配置单元-e“设置配置单元.auto.convert.join=false;设置 hive.server2.logging.operation.level=NONE;设置mapreduce.map.memory.mb =16384;设置mapreduce.map.java.opts='-Djava.net.preferIPv4Stack=true-Xmx13107M';设置mapreduce.reduce.memory

我是新来的蜂巢。正在尝试执行一个将数据输出到一个文件的查询

以下是我的疑问:

配置单元-e“设置配置单元.auto.convert.join=false;设置 hive.server2.logging.operation.level=NONE;设置mapreduce.map.memory.mb =16384;设置mapreduce.map.java.opts='-Djava.net.preferIPv4Stack=true-Xmx13107M';设置mapreduce.reduce.memory.mb=13107;设置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;设置 hive.exec.max.dynamic.partitions=100000;设置 hive.exec.max.created.files=1000000;设置 mapreduce.input.fileinputformat.split.maxsize=128000000;设置 hive.hadoop.supports.splittable.combineinputformat=true;set 配置单元查询 在这里;“>/tmp/analysis

但在/tmp/analysis文件中,我可以看到如下警告

警告:调用了方法类org.apache.commons.logging.impl.SLF4JLogFactory#release()。 警告:请参阅以获取解释


我怎样才能抑制它呢?

使用蜂巢静默模式,它不会在输出中打印任何日志

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
来自蜂巢医生

日志记录:

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

出于调试目的,通常需要将日志发送到标准输出和/或更改日志级别。可以从命令行执行这些操作,如下所示:

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

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

bin/hive --hiveconf hive.root.logger=INFO,console  //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,console
bin/hive --hiveconf hive.root.logger=INFO,DAILY //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,DAILY
或者,用户只能通过以下方式更改日志记录级别:

bin/hive --hiveconf hive.root.logger=INFO,DRFA //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,DRFA
日志记录的另一个选项是TimeBasedRollingPolicy(适用于Hive 1.1.0及以上版本,Hive-9001),它提供了如下所示的每日选项:

bin/hive --hiveconf hive.root.logger=INFO,console  //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,console
bin/hive --hiveconf hive.root.logger=INFO,DAILY //for HiveCLI (deprecated)
bin/hiveserver2 --hiveconf hive.root.logger=INFO,DAILY
希望有帮助