如何运行查询配置单元并通过日志获取applicationid

vhmi4jdf  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(507)

我正在编写一个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:file:/usr/hdp/2.2.6.0-2800/hadoop/lib/slf4j-log4j12-1.7.5.jar]中找到绑定/org/slf4j/impl/staticloggerbinder.class]slf4j:在[jar:file:/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命令行
我想知道是否有办法通过日志获取applicationid。
今天我在使用命令 yarn application -list -appTypes TEZ 并监视出现在查询开始附近的进程,以便以后使用该命令 yarn application -status application_XXXXX 只监视我的执行。
问题是这个方法有缺陷,因为另一个进程可能在类似的时间进入队列。
谢谢你的帮助。

ojsjcaue

ojsjcaue1#

您正在用运行配置单元查询文件 -S 选项,该选项禁止与 yarn application id .
试着跑

hive -f pdr_extrator.sql

如果重定向,您必须能够在控制台或文件上看到如下日志。

Status: Running (Executing on YARN cluster with App id application_1579987899994_341626)

相关问题