当前位置: 首页 > 知识库问答 >
问题:

如何运行查询配置单元并通过日志获取应用程序ID

唐海阳
2023-03-14

我正在编写一个执行配置单元命令的shell脚本,将日志和输出信息写入两个单独的文件:

hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt | sed 's / [\ t] / | / g' 1> pdr_extrator_out.txt

执行结束时的日志文件如下所示:

Log4j: WARN在org.apache.log4j中没有这样的属性[maxBackupIndex]。log4j: WARN在org.apache.log4j中没有这样的属性[maxFilesize]。DailyRollingFileAppender.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/Static LoggerBinder.class]SLF4J:参见http://www.slf4j.org/codes.html#multiple_bindings的解释。SLF4J:实际绑定类型[org.slf4j.impl.Log4jLoggerFactory]

通过命令行运行时,可以获取特定查询的applicationID,如下所示:

ApplicationID-配置单元命令行

我想知道是否有办法通过日志获取应用程序ID。

今天,我使用命令warn application-list-appTypes TEZ并监视出现在我的查询开始附近的过程,以便稍后使用命令warn application-status application\uuuxxxxx仅监视我的执行。

问题在于,这种方法存在缺陷,例如,另一个进程可能在类似的时间进入队列。

谢谢你的帮助。

共有1个答案

宫亦
2023-03-14

您正在使用-S选项运行配置单元查询文件,该选项禁止与应用程序id相关的日志记录。

试着跑

hive -f pdr_extrator.sql

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

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

 类似资料:
  • 我在elastic mapreduce上以交互模式运行了Hive: null 有人对我如何做到这一点有什么建议吗?

  • 下面是如何通过配置单元JDBC运行查询的 从纱线URL,找不到应用程序ID。

  • 下面是如何通过配置单元jdbc运行查询的 我可以在yarn UI中看到应用程序的详细信息。但是现在我想通过java代码获取这个工作的应用程序id,有没有可能这样做呢?如果是,那又是怎样做的呢?

  • 我有一些配置单元作业在YARN中执行,所以在YARN中,如果我列出应用程序,我会看到一些配置单元应用程序和相应的Templeton应用程序。那么,在Ambari中,我如何看到那些正在运行的配置单元应用程序正在执行的实际配置单元查询呢?安巴里对此提供了任何选择吗?

  • 本文向大家介绍如何配置Spring Boot应用程序日志记录?相关面试题,主要包含被问及如何配置Spring Boot应用程序日志记录?时的应答技巧和注意事项,需要的朋友参考一下 Spring Boot附带了对Log4J2,Java Util Logging和Logback的支持。它通常预先配置为控制台输出。可以通过仅在application.properties文件中指定logging.leve

  • 问题内容: 在使用mocha和supertest对我的node.js应用程序(基本上是REST后端)进行单元测试时,我只需要屏幕上特定于测试的消息,但标准输出也被应用程序日志消息所困扰。 我从以下单元测试开始: …并获得此输出(这是 不 应该的): 我用[App]标记了应用程序日志消息。我 真正想要的 是单元测试的输出: 我如何抑制应用程序插入Mocha的报告程序输出的console.log /