我是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以获得解释。
我该如何抑制呢?
答案 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