【问题标题】:How to change Tez job name when running query in HIVE在 HIVE 中运行查询时如何更改 Tez 作业名称
【发布时间】:2015-10-29 19:14:26
【问题描述】:

当我使用 Tez 提交 Hive SQL 时,如下所示:

hive (default)> select count(*) from simple_data;

在资源管理器 UI 中,作业名称显示为 HIVE-9d1906a2-25dd-4a7c-9ea3-bf651036c7eb 之类的内容有没有办法将作业名称更改为my_job_nam

如果我不使用 Tez 并在 MR 中运行作业,我可以使用 set mapred.job.name 设置作业名称。

我需要设置任何 Tez 参数来更改作业名称吗?

感谢任何输入。

【问题讨论】:

  • MR 将为每个查询运行一个新作业;但 TEZ 将尝试保持其“会话”打开,以避免一直取消分配和重新分配 YARN 容器。所以您的问题是如何设置当前(或未来)TEZ 会话名称。请参阅fr.hortonworks.com/blog/introducing-tez-sessions >> 不幸的是,HIVE 不知道 TEZ 的工作原理,也没有具体的参数...
  • 顺便说一句:在 YARN 和 TEZ 作业(尤其是 OOZIE 作业管理)中支持 自定义标签 的请求由来已久,但这些 JIRA 显示不多进度,见issues.apache.org/jira/browse/TEZ-909
  • 非常感谢 Samson 提供的信息。

标签: hadoop hive apache-pig


【解决方案1】:

您可以使用“set hiveconf hive.query.name=myjobname”
但您只能在 TEZ 视图中看到名称。不在纱线中。
请参阅以下链接:
https://community.hortonworks.com/questions/5309/how-to-set-tez-job-name.html

我也在调查这个问题。如果我找到解决方案,我会更新问题。

【讨论】:

    【解决方案2】:

    想通了。使用属性hive.session.id 可以更改名称。下面是一个例子。

    hive --hiveconf hive.session.id=test_$(date '+%Y%m%d_%H%M%S') \
          -e "select month, max(sale) from simple_data group by month;"
    

    【讨论】:

      【解决方案3】:

      好问题。在 Spark 上有一个用于 Hive 的 JIRA 用于您要问的非常相似的事情:HIVE-12811 - 您可以在那里使用 spark.app.name;登陆 Hive 2.1。

      在 Tez 上找不到任何特定于 Hive 的内容。也许有人需要提交类似于 Hive-12811 的 Hive jira/补丁,但针对 Tez。

      【讨论】:

        【解决方案4】:

        设置 hive.query.name="test_query";

        将与 TEZ 一起在 hive 中工作

        【讨论】:

          【解决方案5】:

          设置 mapred.job.name = 更有用的名称

          【讨论】:

          • 原始问题已经指出,如果不使用 Tez,但希望使用 Tez 的解决方案是一种可能性。
          猜你喜欢
          • 1970-01-01
          • 2019-04-21
          • 2019-12-07
          • 1970-01-01
          • 2018-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多