2013-10-09 3 views
2

에 따라 감속기의 수를 설정하는 방법은 어떻게 맵리 듀스 작업에 내 입력 크기에 따라 감속기 헤아 렸어요 설정할 수 있습니다.입력 크기

hive.exec.reducers.bytes.per.reducer 
pig.exec.reducers.bytes.per.reducer 

내가 비슷한 일이 나에게 도움을 주시기 바랍니다 내지도-줄 작업에서 수행 할 flollows로 내가 하이브와 돼지에 그것을 알고

내 마음에 오는

답변

2

한 가지 작업을 제출하기 전에 입력을 분석하는 것입니다 입력 크기에 따라 감속기의 수를 설정하십시오.

예를 들어, HDFS 입력 소스를 사용하는 경우 getContentSummary (http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#getContentSummary(org.apache.hadoop.fs.Path))라는 메소드가 있는데 이는 입력 크기를 다시 제공합니다.

그 후에는 감속기의 수를 계산하기 위해이 정보를 사용할 수 있습니다. (당신의 요구를 수용 할 수있는 어떤 논리) setNumReduceTasks를 사용하여 그 숫자를 설정하십시오.

다른 데이터 소스의 경우는 비슷한 방법을 사용한다.

+0

다음 FileSystemOBJ.getContentSummary (경로 filePath) .getLength() 내 작업을 수행 할 예정입니까? – sudheer

+0

getSpaceConsumed() 메서드를 사용하여 파일의 실제 크기를 가져와야합니다. –