개인 재정 입력에서 나누기 Hadoop의 MapReduce에서 분할 - 더미

입력에서 나누기 Hadoop의 MapReduce에서 분할 - 더미

비디오: 하둡(HDFS) 의 파일 읽기, 쓰기 과정 쉽게 요약 2024

비디오: 하둡(HDFS) 의 파일 읽기, 쓰기 과정 쉽게 요약 2024
Anonim

HDFS가 설정된 방식으로 대용량 파일을 큰 블록 (예: 128MB 측정)으로 분해하고, HDFS는 이러한 파일의 내용을 인식하지 못합니다.

YARN에서 MapReduce 작업이 시작되면 Resource Manager (클러스터 리소스 관리 및 작업 스케줄링 기능)은 Job Master의 데몬을 생성하여 작업의 라이프 사이클을 관리합니다 (Hadoop 1에서는 JobTracker가 작업 스케줄링 및 클러스터 리소스 관리는 물론 개별 작업을 모니터링했습니다).

> 응용 프로그램 마스터가 수행하는 첫 번째 작업 중 하나는 처리에 필요한 파일 블록을 결정하는 것입니다. 응용 프로그램 마스터는 필요한 데이터 블록의 복제본이 저장되는 NameNode의 세부 정보를 요청합니다. 응용 프로그램 마스터가 자원에 요청합니다. 관리자는지도 작업을 통해 저장된 특정 슬레이브 노드의 특정 블록을 처리합니다.

데이터 블록 처리 방법을 살펴보기 전에 Hadoop이 데이터를 저장하는 방법을 자세히 알아야합니다. Hadoop에서 파일은 개별 레코드로 구성되며 매퍼 작업별로 하나씩 처리됩니다. 예를 들어, 샘플 데이터 세트에는 1987 년에서 2008 년 사이에 완료된 미국 내 항공편에 대한 정보가 들어 있습니다.

샘플 데이터 세트를 다운로드하려면 VM 브라우저에서 Firefox 브라우저를 열고 dataexpo 페이지로 이동하십시오.

매년 1 개의 커다란 파일이 있으며, 모든 파일 내에서 각각의 개별 라인은 단일 항공편을 나타냅니다. 즉, 한 줄은 하나의 레코드를 나타냅니다. 이제 Hadoop 클러스터의 블록 크기가 64MB라는 것을 기억하십시오. 이는 가벼운 데이터 파일이 정확히 64MB의 청크로 분할된다는 것을 의미합니다.

문제가 보이십니까? 각 맵 작업이 특정 데이터 블록의 모든 레코드를 처리하는 경우 블록 경계에 걸쳐있는 레코드는 어떻게됩니까? 파일 블록은 정확히 64MB (또는 블록 크기를 설정하는 모든 것)이며, HDFS는 파일 블록 내부에 무엇이 있는지에 대한 개념이 없으므로 레코드가 다른 블록으로 넘칠 때를 측정 할 수 없습니다.

이 문제를 해결하기 위해 Hadoop은

입력 스플릿

이라는 파일 블록에 저장된 데이터의 논리적 표현을 사용합니다. MapReduce 작업 클라이언트는 입력 분할을 계산할 때 블록의 첫 번째 전체 레코드가 시작되는 위치와 블록의 마지막 레코드가 끝나는 위치를 파악합니다.블록의 최종 레코드가 불완전한 경우, 입력 분할은 다음 블록에 대한 위치 정보 및 레코드를 완료하는 데 필요한 데이터의 바이트 오프셋을 포함한다.

이 그림은 데이터 블록과 입력 분할 간의 이러한 관계를 보여줍니다. 애플리케이션 마스터 데몬 (또는 Hadoop 1에있는 경우 JobTracker)에서 작업 클라이언트 대신 입력 스플릿을 계산하도록 구성 할 수 있습니다. 이렇게하면 많은 데이터 블록을 처리하는 작업이 더 빠릅니다. MapReduce 데이터 처리는 이러한 입력 분할 개념에 의해 주도됩니다. 특정 응용 프로그램에 대해 계산 된 입력 스플릿 수는 매퍼 작업 수를 결정합니다. 이러한 매퍼 작업은 가능한 경우 입력 분할이 저장되는 슬레이브 노드에 할당됩니다. Resource Manager (또는 Hadoop 1에있는 경우 JobTracker)는 입력 분할이 로컬에서 처리되도록 최선을 다합니다.

입력에서 나누기 Hadoop의 MapReduce에서 분할 - 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...