복붙노트

[HADOOP] HDFS의 블록이 너무 큰 이유는 무엇입니까?

HADOOP

HDFS의 블록이 너무 큰 이유는 무엇입니까?

누군가이 계산을 설명하고 명쾌한 설명을 줄 수 있습니까?

해결법

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

    1.블록은 디스크상의 연속적인 정보로 저장됩니다. 즉, 블록을 완전히 읽는 데 걸리는 시간 (검색 시간) + 더 이상 검색하지 않고 내용을 읽는 시간입니다 (예 : sizeOfTheBlock). / transferRate = 전송 시간.

    블록은 디스크상의 연속적인 정보로 저장됩니다. 즉, 블록을 완전히 읽는 데 걸리는 시간 (검색 시간) + 더 이상 검색하지 않고 내용을 읽는 시간입니다 (예 : sizeOfTheBlock). / transferRate = 전송 시간.

    seekTime / transferTime 비율을 작게 유지하면 (텍스트의 .01에 가깝게), 정보를 찾는 데 소요되는 시간을 최소화하면서 디스크에서 부과 된 물리적 한계와 거의 동일한 속도로 디스크에서 데이터를 읽음을 의미합니다.

    이것은 맵에서 작업을 줄이기 위해 중요합니다. 일반적으로 전체 데이터 세트 (HDFS 파일 또는 폴더 또는 폴더 세트로 표시됨)를 트래핑 (읽기)하고 그에 대한 논리를 수행하기 때문에 어쨌든 전체 transferTime을 소비해야하기 때문에 디스크에서 모든 데이터를 가져 와서 큰 청크로 검색하고 읽는 데 소요되는 시간을 최소화하려고합니다. 따라서 데이터 블록의 크기가 커집니다.

    보다 전통적인 디스크 액세스 소프트웨어에서는 일반적으로 매번 전체 데이터 세트를 읽지 않기 때문에, 우리는 필요하지 않은 너무 많은 데이터를 전송하는 데 시간을 낭비하지 않고 더 작은 블록에 대해 많은 시간을 할애합니다.

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

    2.100MB는 10 개의 블록으로 나누어지기 때문에 10 개의 탐색을해야하며 각 파일의 전송 속도는 (10/100) mb / s입니다. (10ms * 10) + (10 / 100mb / s) * 10 = 1.1 초. 어쨌든 1.01보다 큽니다.

    100MB는 10 개의 블록으로 나누어지기 때문에 10 개의 탐색을해야하며 각 파일의 전송 속도는 (10/100) mb / s입니다. (10ms * 10) + (10 / 100mb / s) * 10 = 1.1 초. 어쨌든 1.01보다 큽니다.

  3. ==============================

    3.100MB는 10 개의 블록으로 나누어지기 때문에 각 블록은 HDFS와 마찬가지로 10MB가됩니다. 그런 다음 10 * 10ms + 10mb / (100Mb / s) = 0.1s + 0.1s = 0.2s 그리고 더 적은 시간이어야합니다.

    100MB는 10 개의 블록으로 나누어지기 때문에 각 블록은 HDFS와 마찬가지로 10MB가됩니다. 그런 다음 10 * 10ms + 10mb / (100Mb / s) = 0.1s + 0.1s = 0.2s 그리고 더 적은 시간이어야합니다.

  4. from https://stackoverflow.com/questions/22353122/why-is-a-block-in-hdfs-so-large by cc-by-sa and MIT license