hive - 如何为 hive 查询子作业设置 mapreduce 作业名称?
问题描述
我们的 hive 查询创建了 9 个 map-reduce 作业和 17 个阶段(当我运行 EXPLAIN 命令时,输出显示 17 个阶段和阶段依赖项)。每个儿童工作都有相同的mapreduce.job.name
为了区分这些子作业,有什么方法可以设置mapreduce.job.name
内部配置单元查询,以便对于每个作业,我可以看到作业的阶段。所有 9 个子作业的现有作业名称:
Job.Name : hive_query_map_reduce_job
有没有办法让我在工作跟踪器中获取工作名称
Job.Name : hive_query_map_reduce_job_stage_1
Job.Name : hive_query_map_reduce_job_stage_2
Job.Name : hive_query_map_reduce_job_stage_3
...
我参考了如何控制蜂巢作业名称但保留阶段信息?但它没有按预期工作。我尝试mapreduce.job.name
在查询中设置多个具有不同值的位置,但所有子作业都采用我分配的最后一个值。假设我的查询文件是 hiveQuery.q
蜂巢查询.q
设置 hiveconf:mapreduce.job.name="唯一名称 1"。
... --
一些查询语句
...
设置 hiveconf:mapreduce.job.name="unique name 2"。
... --
一些查询语句
...
设置 hiveconf:mapreduce.job.name="unique name 3"。
对于上述查询,所有 9 个 mapreduce 作业都"unique name 3"
作为作业名称。我也尝试过hive.query.name
,hive.query.string
但那些没有帮助。这可能吗?有谁知道如何实现这一目标?
解决方案
推荐阅读
- python - 如何使用箭头键在 pythons input() 提示中导航文本光标
- hibernate - Spring data jpa:找不到类 ConnectionManager 所需的标识符属性
- jenkins-pipeline - Jenkinsfile 中的循环问题
- ios - 将 url 字符串编码为 Dictionary 在我的情况下: Some value have = inside
- c++ - 我的代码有什么问题以获得正确的渐变?
- angular - 每当单击按钮时调用函数后,布尔值都不会改变
- c# - SSL证书认证和C#
- java - 如果单击两次,如何使 JButton 生成的文本重新出现在同一位置?
- google-api - Drive REST API 不再返回已删除评论的用户名?
- regex - 如何正确结合正则表达式并在 shell 脚本中查找