• 根据 Application ID找到 Hive 的 SQL 语句


    根据 Yarn 的 Application 找到 Hive 的 SQL,需要根据执行引擎(tez 或者 mr)的不同有不同的方法。以下以 TEZ 引擎 为例。

    1. 通过界面

    找到 Application

    点击 Tracking URL 后面的链接,当运行的时候是 “ApplicationMaster”。当运行结束后是 “History”

     进入 Application 界面,如下图所示。

     点击 [DAGs],一个 Appcation 可能运行多个 DAG,一个SQL 运行生成一个 DAG。

    点击对应的 DAG,进入下面的界面

    ​ 

     点击【Download data】,下载一个 zip 文件,点击解压此文件。

     进入目录【dag_1655120277783_0036_1】,如下图所示。

    打开文件【dag-extra-info.json】,搜索 【description】,找到dagPlan/dagContext/description,就是执行的SQL。由于'换行符'替换为 \n,如果执行此SQL,需要把 \n 换为'换行符' 或者空格。

    2. 通过 timeline-server api

    假设 timeline server 监听 172.23.233.232 8188 端口

    那么假设 application id 是 application_1660210417920_0001。首先根据 application id 找到对应的 dag id,然后第2步根据 dag id 查找dag 的详细信息,详细信息里包含 SQL。

    2.1 根据 application 找到对应的 dag id

    http://172.23.233.232:8188/ws/v1/timeline/TEZ_APPLICATION/tez_application_1660210417920_0001

    根据 TEZ_DAG_ID 找到后面的 dag id。

    {"TEZ_DAG_ID":["dag_1660210417920_0001_1"]}

    2.2 根据 dag id 请求 dag 的详细信息

    http://172.23.233.232:8188/ws/v1/timeline/TEZ_DAG_EXTRA_INFO/dag_1660210417920_0001_1

    搜索 description 找到对应的SQL

    "description":"select c1,count(1) cnt from t1 group by c1"

  • 相关阅读:
    LeetCode 230.二叉搜索树中第K小的元素
    C#-委托和lambda
    DLL调试方法 VS2012 C++ 有代码时
    密码学入门——环游密码世界
    BiMPM实战文本匹配【上】
    No authorization token was found
    复制一个项目后,错误: 找不到或无法加载主类 原因: java.lang.ClassNotFoundException:
    [hive]中的字段的数据类型有哪些
    MindSpore GPU版本安装指导
    Rust 中的 Pin UnPin Async Await 实现机制
  • 原文地址:https://blog.csdn.net/houzhizhen/article/details/126281079