2013-02-21 6 views
1

Hadoop 클러스터가 있고 다른 프로세스가이 클러스터에 mapreduce 작업을 제출할 수 있습니다 (모두 동일한 사용자 계정을 사용함).하둡 작업에 대한 설명

이러한 작업을 구분할 수있는 방법이 있습니까? 어떤 종류의 설명은 제출 과정에서 '프로세스의 일'과 같이 제출할 수 있습니다. 1234 ', 터치하지 않습니까?'

저는 Python과 HadoopStreaming을 사용하고 있으며 간단한 hadoop job -list (또는 적어도 웹 관리 인터페이스 사용)을 사용하여 작업을 구분하고 싶습니다.

+0

것은 당신이 아마존의 EMR 사용하고 있습니까 : 하둡의 경우

이의 모양은 스트리밍? – Amar

+0

@Amar, Nope, just regular Python –

답변

0

예, job.setJobName(String)을 사용하여 각 작업의 이름을 지정할 수 있습니다.

구별되는 이름으로 작업 이름을 설정하려면 구별 할 수 있어야합니다.

예를 들어, ManagementFactory.getRuntimeMXBean().getName() 같은 것을 사용하여 당신은 1234는 프로세스 ID, 당신은 할 수는 [email protected]의 형식에서 (다른 운영 체제에 대한 행동의 확신, 어쨌든 리눅스에서) 프로세스 ID와 컴퓨터 이름을 얻을 수 있습니다 그들을 구별하기 위해 작업 이름을 설정하십시오.

+0

불행히도 Python을 사용하고 Java API에 액세스 할 수 없습니다. 나는 그 질문을 갱신했다. –

0

교차 호환 솔루션의 경우 mapred.job.name을 사용하여 작업 이름을 지정할 수 있습니다. 그러면 나중에 hadoop job -list 인 모든 항목을 쉽게 구별 할 수 있습니다.

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

그래, 해봤지만'job-list'는 작업 이름을 표시하지 않습니다. –