복붙노트

[HADOOP] 하둡의 블록 크기

HADOOP

하둡의 블록 크기

나는 현재 네 개의 노드 멀티 클러스터에서 일하고 있습니다. 사람이 나에게 22기가바이트 입력 파일 작업에 대한 적절한 블록 크기를 제안 할 수 있습니다? 미리 감사드립니다.

여기 내 실적 결과는 다음과 같습니다 64 M - 32 분. 128M - 19.4 분 256M - 15 분

자, 1GB의 / 2GB로 훨씬 더 큰 만드는 고려해야한다? 이렇게하면 문제가있는 경우 친절하게 설명합니다.

편집하다:  또한, 경우 기본 블록 크기의 경우 64MB 1백28메가바이트 인 이유 20GB의 입력 파일의 블록 크기를 증가와 성능 향상? 친절 여기에 비슷한 질문에 대답

해결법

  1. ==============================

    1.이 파일을 처리하기 위해 사용하려는 분할 크기는 얼마입니까? 는 기본 블록 크기보다 약간 더 있다면, 난 당신이 분할 크기 값에 블록 크기를 변경하는 것이 좋습니다 것입니다. 이렇게함으로써 작업 처리량을 개선 매퍼에 대한 데이터 지역성의 기회를 증가한다.

    이 파일을 처리하기 위해 사용하려는 분할 크기는 얼마입니까? 는 기본 블록 크기보다 약간 더 있다면, 난 당신이 분할 크기 값에 블록 크기를 변경하는 것이 좋습니다 것입니다. 이렇게함으로써 작업 처리량을 개선 매퍼에 대한 데이터 지역성의 기회를 증가한다.

    분할 크기는 입력 포맷으로 계산된다.

        protected long computeSplitSize(long blockSize, long minSize,
                                      long maxSize) {
        return Math.max(minSize, Math.min(maxSize, blockSize));
      }
    

    최소 매개 변수와이 maxSize는 아래의 구성 매개 변수를 사용하여 조작 할 수 있습니다,

    당신은 FileInputFormat 클래스의 상세한 데이터 흐름을 찾을 수 있습니다.

  2. ==============================

    2.당 라인 처리는 어떻게 무겁다? 단순히 "GREP"의 한 종류 인 경우에 당신은 1GB의 블록 크기까지 증가 할 괜찮을한다. 이유는 단순히 그것을 밖으로 시도? 귀하의 성능 수치는 이미 블록 크기를 증가시키는 긍정적 인 결과를 나타냅니다.

    당 라인 처리는 어떻게 무겁다? 단순히 "GREP"의 한 종류 인 경우에 당신은 1GB의 블록 크기까지 증가 할 괜찮을한다. 이유는 단순히 그것을 밖으로 시도? 귀하의 성능 수치는 이미 블록 크기를 증가시키는 긍정적 인 결과를 나타냅니다.

    각 라인은 중요한 보조 처리를 요구하는 경우보다 작은 블록 사이즈에 대한 고려가있을 것이다. 그러나 그것은 당신이 이미 확립 된 성능 추세 주어진 의문이다.

  3. from https://stackoverflow.com/questions/28134288/block-size-in-hadoop by cc-by-sa and MIT license