2011-11-30 2 views
0

기본적으로 hadoop 맵 작업은 처리 된 레코드를 ${mapred.output.dir}/_temporary/_${taskid}의 임시 디렉토리에있는 파일에 씁니다. 이 파일은 FileCommiter가 ${mapred.output.dir}으로 이동할 때까지 여기에 있습니다 (작업이 성공적으로 완료된 후). 내가 어딘가에 setup()지도 작업의 위의 파일을 만들어야하는 경우가 있는데, 임시 디렉토리를 제공합니다. 여기에서 나중에 다른 곳에서 사용 된 일부 프로세스 관련 데이터를 작성합니다. 그러나 hadoop 작업이 종료되면 임시 디렉토리가 HDFS에서 제거됩니다.작업이 종료되면 Hadoop이 HDFS에서 임시 디렉토리를 삭제하지 않도록 알려주는 방법은 무엇입니까?

작업이 종료 된 후 Hadoop이이 디렉토리를 삭제하지 못하도록하는 것이 가능한지 누구나 알고 있으며 어떻게 달성 할 수 있습니까? 나는 내가 구성 할 수있는 몇 가지 속성이 제공되어야한다고 생각한다.

감사

답변

3

그것은 누구의 위치와 형식 릴리스간에 언제라도 변경할 수 있습니다 임시 파일에 의존하는 것이 좋습니다 아니다. 모든 실패한 작업을 위해 임시 파일을 유지합니다 mapreduce.task.files.preserve.failedtaskstrue에 설정과 관계없이 작업의 성공 또는 실패의 일치 패턴의 임시 파일을 유지합니다 작업의 ID의 정규식을 mapreduce.task.files.preserve.filepattern 설정 어쨌든

.

관련 문제