[HADOOP] 하둡 매퍼에서 총 입력 경로 개수를 가져옵니다
HADOOP하둡 매퍼에서 총 입력 경로 개수를 가져옵니다
우리는 우리의 맵리 듀스 프로그램은 우리의 매퍼에 통해 반복되어 입력 경로의 총 수를 잡기 위해 노력하고 있습니다. 우리는 지수에 따라 우리의 가치를 포맷 카운터와 함께이를 사용하는 것입니다. 매퍼에서 총 입력 경로 개수를 당길 수있는 쉬운 방법이 있나요? 미리 감사드립니다.
해결법
-
==============================
1.당신은 FileInputFormat.getSplits ()에 대한 소스를 통해 볼 수 있었다 -이 mapred.input.dir에 대한 구성 등록 정보를 다시 끌어 다음 경로의 배열이 CSV를 해결합니다.
당신은 FileInputFormat.getSplits ()에 대한 소스를 통해 볼 수 있었다 -이 mapred.input.dir에 대한 구성 등록 정보를 다시 끌어 다음 경로의 배열이 CSV를 해결합니다.
이러한 경로는 여전히 다음 일이 getSplits 그래서 폴더와 정규식의 ()를 보호하는 방법 org.apache.hadoop.mapreduce.lib.input.FileInputFormat.listStatus (JobContext)에 배열을 전달하는 것입니다 않습니다 나타낼 수 있습니다. 이것은 실제로 DIRS / 정규식의 나열 나열하는 디렉토리 / 정규식 일치하는 파일을 통해 이동 (구성된 경우도 PathFilter를 호출).
이 방법은 보호와 함께이 인수, 그리고 차례로 FileInputFormat.listStatus 메소드의 호출을 래핑 그래서, 당신은 Mapper.Context을 수용하는 listStatus 방법이있다 FileInputFormat의 간단한 '더미'확장자를 만들 수 있습니다 :
public class DummyFileInputFormat extends FileInputFormat { public List<FileStatus> listStatus(Context mapContext) throws IOException { return super.listStatus(mapContext); } @Override public RecordReader createRecordReader(InputSplit split, TaskAttemptContext context) throws IOException, InterruptedException { // dummy input format, so this will never be called return null; } }
편집 : 그것은 FileInputFormat처럼 보이는 사실은 이미 getSplits의 끝 () (아마도 0.20.203에 도입 적어도 1.0.2에서) 방법에서 작업 속성 mapreduce.input.num.files를 구성, 당신을 위해이 작업을 수행
다음은 JIRA 티켓입니다
-
==============================
2.당신은 설정 입력 경로의 수와 작업에 구성 할 수 있습니다. 처럼
당신은 설정 입력 경로의 수와 작업에 구성 할 수 있습니다. 처럼
jobConf.setInt("numberOfPaths",paths.length);
당신이 당신의 작업을 구성하는 장소에 코드를 삽입. 그 후 문맥을 받고하여 Mapper.setup (Mapper.Context 컨텍스트)의 구성에서 그것을 읽었다.
from https://stackoverflow.com/questions/10585560/get-total-input-path-count-in-hadoop-mapper by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡 : 이상한 ClassNotFoundException가 (0) | 2019.10.10 |
---|---|
[HADOOP] 하둡 환경 변수 (0) | 2019.10.10 |
[HADOOP] 창에서 MR2와 NullPointerException이 (0) | 2019.10.10 |
[HADOOP] 하둡 스트리밍과 종속성을 관리? (0) | 2019.10.10 |
[HADOOP] 무슨 일이 바람직 mapr EC2에서 하둡을 시작하는 가장 쉬운 방법입니다 (0) | 2019.10.10 |