2012-11-19 2 views
0

나는 파라미터 유효에 -depending 하둡 애플리케이션은 입력 디렉토리에서 특정 (몇 가지!) 입력 파일이 필요합니다. 제 질문은 지금입니다 : 파일을 건너 뛰는 가장 좋은 장소는 어디입니까 (가능한 한 빨리 읽으십시오)? 지금은 RecordReader를 사용자 정의하여 처리하고 있지만 더 빨리 파일을 건너 뛸 수 있는지 궁금합니다. 현재 내 임 플레 멘 테이션에서, hadoop은 관련성이없는 파일들 때문에 여전히 엄청난 오버 헤드를 가지고 있습니다.hadoop이 특정 입력 파일을 건너 뛰는 가장 효율적인 방법은 무엇입니까?

어쩌면 나는 내가 특정 입력 파일이 필요 여부를 확인하는 것이 매우 쉽다는 것을 추가해야합니다. 파일 이름이 매개 변수로 시작하는 경우 파일 이름이 필요합니다. hierachically 내 입력 된 디렉터리를 구조화 할 수 있지만 모든 파일을 특정 디렉터리에 고독한 결국 내 프로젝트에 대한 가능성이 높습니다 솔루션, 수도 있습니다.

답변

1

여기 언급 한 바와 같이 입력에 Path들에 적절한 패턴을 적용하여 입력 파일을 필터링 할 제안 것 :이 솔루션은 서브 디렉토리를 고려하지 않는 https://stackoverflow.com/a/13454344/1050422
참고. 을 변경하여 기본 경로 내의 모든 하위 디렉토리를 재귀 적으로 방문 할 수 있습니다.

1

나는 쉼표로 구분 된 파일 이름을 포함하는 단일 문자열을 지정 TextInputFormat에 setInputPaths() 메소드를 사용하여 성공을 거두었습니다.

+0

는 FileInputFormat.setInputPaths을 의미합니까? 그 라인을 따라, 내가 어쩌면 특정 입력 파일과 일치하는 정규식을 사용할 것이라고 생각했다. 그래도 그걸 허용할만한 것을 찾지 못했습니다 ... – KarelV

+0

죄송합니다. 예, 그것이 제가 의미했던 것입니다. 이 프로그램 API를 원하는 경우에 당신은 ABC 당신이 (가) PathFilter를 구현하고 (b)는 정규식 테스트를 할 것이라고 편지 클래스입니다 setInputPathFilter (작업, ABC.class)를 사용할 수 있습니다. –

+1

당신은이 주제에 내 대답 봐있을 수 있습니다 @KarelV : http://stackoverflow.com/a/13454344/1050422 나는 당신의 입력 경로가 있다면 것을 setInputPathFilter()를 호출 –

관련 문제