복붙노트

[HADOOP] Hadoop / HDFS 파일 분할 정보

HADOOP

Hadoop / HDFS 파일 분할 정보

다음을 확인하기 만하면됩니다. 이것이 올바른지 확인하십시오 : 1. 파일을 HDFS로 복사 할 때 필자는 파일 (크기가 64MB보다 크고 HDFS 블록 크기가 있다고 가정)이 여러 청크로 분할되고 각 청크가 서로 다른 데이터 노드에 저장되는 시점입니다.

해결법

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

    1.당신의 이해가 이상적이지 않습니다. 필자는 파일을 HDFS 블록으로 분할하고 다른 매퍼가 처리 할 파일을 분할하는 두 가지 독립적 인 프로세스가 있음을 지적합니다. HDFS는 정의 된 블록 크기에 따라 파일을 블록으로 분할합니다.  각 입력 형식에는 파일을 다른 매퍼가 독립적으로 처리 할 수 ​​있도록 분할 할 수있는 자체 논리가 있습니다. FileInputFormat의 기본 논리는 파일을 HDFS 블록으로 분할하는 것입니다. 다른 논리를 구현할 수 있습니다.  압축은 대개 분할의 대상이 아니므로 블록 압축 기술을 사용하여 압축 된 데이터를 분할 할 수 있습니다. 이는 파일 (블록)의 각 논리 부분이 독립적으로 압축됨을 의미합니다.

    당신의 이해가 이상적이지 않습니다. 필자는 파일을 HDFS 블록으로 분할하고 다른 매퍼가 처리 할 파일을 분할하는 두 가지 독립적 인 프로세스가 있음을 지적합니다. HDFS는 정의 된 블록 크기에 따라 파일을 블록으로 분할합니다.  각 입력 형식에는 파일을 다른 매퍼가 독립적으로 처리 할 수 ​​있도록 분할 할 수있는 자체 논리가 있습니다. FileInputFormat의 기본 논리는 파일을 HDFS 블록으로 분할하는 것입니다. 다른 논리를 구현할 수 있습니다.  압축은 대개 분할의 대상이 아니므로 블록 압축 기술을 사용하여 압축 된 데이터를 분할 할 수 있습니다. 이는 파일 (블록)의 각 논리 부분이 독립적으로 압축됨을 의미합니다.

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

    2.데이비드의 대답은 그 머리에 못을 박는 다. 나는 여기서 그것을 자세히 설명하고있다.

    데이비드의 대답은 그 머리에 못을 박는 다. 나는 여기서 그것을 자세히 설명하고있다.

    여기서 두 개의 뚜렷한 개념이있다. 각 개념은 hadoop 프레임 워크의 다른 엔티티에 의해 처리된다.

    첫째로 -

    1) 파일을 블록으로 나누기 - HDFS에 파일을 쓸 때 HDFS는 파일을 블록으로 나누고 복제를 처리합니다. 이 작업은 한 번 (주로) 수행 된 다음 클러스터에서 실행중인 모든 MR 작업에서 사용할 수 있습니다. 이것은 클러스터 전체 구성입니다.

    둘째 -

    2) 입력 분할로 파일 분할 - 입력 경로가 MR 작업으로 전달되면 MR 작업은 입력 경로에 지정된 파일을 분할로 구성된 입력 형식과 함께 경로를 사용하여 분할합니다. 각 분할은 지도 작업. 입력 스플릿의 계산은 작업이 실행될 때마다 입력 형식에 의해 수행됩니다.

    이제 우리가 이것을 벨트 아래에 놓으면 우리는 isSplitable () 메서드가 두 번째 범주에 해당된다는 것을 알 수 있습니다.

    HDFS 쓰기 데이터 흐름 (개념 1)을 살펴보십시오.

    다이어그램의 두 번째 부분은 아마도 분할이 일어나는 곳일 것입니다. 이것은 MR 작업의 실행과 관련이 없습니다.

    이제 MR 작업의 실행 단계를 살펴보십시오.

    여기에서 첫 번째 단계는 작업에 대해 구성된 inputformat을 통해 입력 스플릿을 계산하는 것입니다.

    당신의 혼란의 많은 부분은 당신이이 두 가지 개념을 모으고 있다는 사실에서 비롯된 것입니다. 이것이 조금 더 명확 해지기를 바랍니다.

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

    3.예. 파일 내용이 HDFS로 복사 될 때 청크로 분할됩니다. 블록 크기는 구성 가능하며 128MB라고하면 128MB 전체가 하나의 블록이되며 64MB 별도로 2 블록이 아닙니다. 또한 파일의 각 청크가 별도의 데이터 노드에 저장 될 필요는 없습니다. 데이터 노드는 특정 파일의 하나 이상의 청크를 가질 수 있습니다. 특정 복제본은 복제 요소에 따라 둘 이상의 데이터 노드에 존재할 수 있습니다.

    예. 파일 내용이 HDFS로 복사 될 때 청크로 분할됩니다. 블록 크기는 구성 가능하며 128MB라고하면 128MB 전체가 하나의 블록이되며 64MB 별도로 2 블록이 아닙니다. 또한 파일의 각 청크가 별도의 데이터 노드에 저장 될 필요는 없습니다. 데이터 노드는 특정 파일의 하나 이상의 청크를 가질 수 있습니다. 특정 복제본은 복제 요소에 따라 둘 이상의 데이터 노드에 존재할 수 있습니다.

  4. from https://stackoverflow.com/questions/9258134/about-hadoop-hdfs-file-splitting by cc-by-sa and MIT license