【发布时间】:2020-05-16 09:27:16
【问题描述】:
我正在编写一个执行 hive 命令的 shell 脚本,将日志和输出信息写入两个单独的文件:
hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt | sed 's / [\ t] / | / g' 1> pdr_extrator_out.txt
执行结束时的日志文件如下:
log4j:警告在 org.apache.log4j.DailyRollingFileAppender 中没有这样的属性 [maxBackupIndex]。 log4j:警告在 org.apache.log4j.DailyRollingFileAppender 中没有这样的属性 [maxFileSize]。 SLF4J:类路径包含多个 SLF4J 绑定。 SLF4J:在 [jar:文件:/usr/hdp/2.2.6.0-2800/hadoop/lib/slf4j-log4j12-1.7.5.jar 中找到绑定! /Org/slf4j/impl/StaticLoggerBinder.class] SLF4J:在 [jar:文件:/usr/hdp/2.2.6.0-2800/hive/lib/hive-jdbc-0.14.0.2.2.6.0-2800-standalone.jar 中找到绑定! /org/slf4j/impl/StaticLoggerBinder.class] SLF4J:请参阅http://www.slf4j.org/codes.html#multiple_bindings 以获得解释。 SLF4J:实际绑定的类型是 [org.slf4j.impl.Log4jLoggerFactory]
当我通过命令行运行时,可以得到我具体查询的applicationID,如下图:
ApplicationID - Hive command line
不知道有没有办法通过log获取applicationID。
今天我正在使用命令 yarn application -list -appTypes TEZ 并监视出现在查询开始附近的进程,以便稍后使用命令 yarn application -status application_XXXXX 仅监视我的执行。
问题是这种方法是有缺陷的,例如,另一个进程可能会在类似的时间进入队列。
感谢您的帮助。
【问题讨论】:
标签: hadoop hive hadoop-yarn apache-tez