我希望我的流式减速器任务的输出对于分区号 0 与其他分区不同。如何从我的脚本中判断它正在运行的减速器任务是什么?
问问题
483 次
2 回答
1
正如 Nonnib 所说,如果你在 MR2/Yarn 上运行你的工作:
mapreduce_task_id
没有设置。改为使用mapred_task_id
。
我唯一的参考是Vowpal Wabbit 脚本(另外,我在 Yarn 作业中使用它,它适用于 Hadoop 2.0.0-cdh4.6.0 的版本)
于 2014-10-07T19:16:15.883 回答
1
我刚刚发现有环境变量mapreduce_task_id
并且mapreduce_task_partition
可以从脚本中访问。这些对于不同的reduce任务将具有不同的值,例如,任务0具有:
mapreduce_task_id=task_1410791469618_0007_r_000000
而任务 1 具有:
mapreduce_task_id=task_1410791469618_0007_r_000001
同样,任务 0 具有:
mapreduce_task_partition=0
和
mapreduce_task_partition=1
.
在 Python 中,可以按如下方式访问它们:
import os
my_task_id = os.environ.get('mapreduce_task_partition')
于 2014-09-16T16:36:01.330 回答