Hadoop作业描述

2024-04-28 19:37:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Hadoop集群,不同的进程可以向这个集群提交mapreduce作业(它们都使用相同的用户帐户)。你知道吗

有没有办法区分这些工作?某种描述,在提交时可以添加到作业中,例如“这是一个处理“1234”的作业,请勿触摸”?你知道吗

我使用的是Python和HadoopStreaming,并且希望区分使用简单hadoop job -list(或者至少使用web管理界面)的作业。你知道吗


Tags: 用户hadoopweb界面进程作业job集群
2条回答

对于交叉兼容的解决方案,可以始终使用mapred.job.name来指定作业的名称,这样以后就可以轻松地用hadoop job -list区分所有内容。你知道吗

在Hadoop流媒体的情况下,应该如下所示:

hadoop jar $HADOOP_STREAMING_JAR -Dmapred.job.name='something' -mapper mapper.py -reducer reducer.py -input /path/to/input -output /path/to/output

是的,您可以使用job.setJobName(String)为每个作业指定一个名称。你知道吗

如果你要把工作名称设置为有区别的名称,你应该能够把它们区分开来。你知道吗

例如,通过使用ManagementFactory.getRuntimeMXBean().getName()之类的内容,您可以获得1234@localhost格式的进程id和机器名(无论如何,在linux上,不确定在其他操作系统上的行为),其中1234是进程id,您可以将其设置为作业名来区分它们。你知道吗

相关问题 更多 >