mapreduce wordcount 예제

mapreduce wordcount 예제

-libjars, -files 및 -archives를 통해 단어 수 예제를 실행: 전체 Java 코드 파일은 아래에 나열되어 있습니다. 이 예제에서는 새 API를 사용합니다(이전 API를 온라인으로 사용하는 많은 예제가 표시됩니다. 이 스타일을 고수해 보십시오). 여기에는 일부 메서드와 일부 내부 클래스가 있는 하나의 외부 클래스가 포함됩니다. 주의해야 할 사항: 작업은 mapreduce.job.queuename 속성을 통해 또는 Configuration.set(MRJobConfig.QUEUE_NAME, 문자열) API를 통해 제출해야 하는 큐를 정의합니다. 큐 이름을 설정하는 것은 선택 사항입니다. 연결된 큐 이름 없이 작업이 제출되면 `기본` 큐에 제출됩니다. 이 예제에서는 이 텍스트 파일에 각 단어의 빈도가 있는지 확인합니다. hadoop jar hadoop-mapreduce-example.jar WordCount /샘플/입력/출력 이러한 문제를 방지 하려면 MapReduce 프레임 워크, 때 출력 출력 커스터 파일 출력 Committer, 특별 한 유지 ${mapreduce.outputoutput}/_ 임시/_${taskid} ${mapreduce.task.output.dir}를 통해 액세스할 수 있는 파일 시스템에서 각 작업 시도에 대 한 작업 시도의 출력이 저장 됩니다. 작업 시도가 성공적으로 완료되면 ${mapreduce.outputoutputformat.outputdir}/_임시/__{taskid} (만)의 파일은 ${mapreduce.output.fileformat.outputformat.outputdir}로 승격됩니다. 물론 프레임워크는 실패한 작업 시도의 하위 디렉토리를 삭제합니다.

이 프로세스는 응용 프로그램에 완전히 투명합니다. 사용자는 큐에 작업을 제출합니다. 큐는 작업 컬렉션으로 시스템에서 특정 기능을 제공할 수 있도록 합니다. 예를 들어 큐는 ACL을 사용하여 작업을 제출할 수 있는 사용자를 제어합니다. 대기열은 주로 Hadoop 스케줄러에서 사용할 것으로 예상됩니다. MapReduce 단어 수 예제에서는 각 단어의 빈도를 확인합니다. 여기서 매퍼의 역할은 키를 기존 값에 매핑하는 것이며 감속기의 역할은 공통 값의 키를 집계하는 것입니다. 따라서 모든 것이 키-값 쌍의 형태로 표시됩니다.

작업 기록 파일은 또한 사용자 지정 디렉토리 mapreduce.jobhistory.jobhistory.intermediate-done-dir 및 mapreduce.jobhistory.done-dir, 작업 출력 디렉토리에 기본값으로 기록됩니다. 유출이 진행되는 동안 유출 임계값을 초과하면 유출이 완료될 때까지 수집이 계속됩니다. 예를 들어 mapreduce.map.sort.spill.percent가 0.33으로 설정되어 있고 유출이 실행되는 동안 버퍼의 나머지가 채워지면 다음 유출에는 수집된 모든 레코드 또는 버퍼의 0.66이 포함되며 추가 유출이 발생하지 않습니다. 즉, 임계값은 차단이 아닌 트리거를 정의합니다. 이제 프로젝트 com.code.dezyre에서 WordCount 클래스를 만들어 WordCount 예제 프로그램을 구현해 보겠습니다. 초기화 하는 동안 작업을 설정 합니다. 예를 들어 작업을 초기화하는 동안 작업에 대한 임시 출력 디렉터리를 만듭니다. 작업 설정은 작업이 준비 상태이고 작업을 초기화한 후 별도의 작업에 의해 수행됩니다. 설치 작업이 완료되면 작업이 RUNNING 상태로 이동됩니다. hadoop 클러스터에서 Wordcount 예제를 실행하기 위해 맵 단계 실행이 성공적으로 완료된 후 맵 단계에서 생성된 키 값 쌍이 입력으로 가져온 다음 에서 정렬되는 경우 섞기 단계가 자동으로 실행됩니다. 알파벳순.

WordCount 예제 코드에서 셔플 단계가 실행되면 출력은 다음과 같습니다 . MapReduce 작업이 실패하면 사용자는 디버그 스크립트를 실행하여 작업 로그를 처리할 수 있습니다. 스크립트는 작업의 stdout 및 stderr 출력, syslog 및 jobconf에 대한 액세스 권한이 부여됩니다. 디버그 스크립트의 stdout 및 stderr의 출력은 콘솔 진단 및 작업 UI의 일부로 표시됩니다. Hadoop은 `기본값`이라고 하는 단일 필수 큐로 구성됩니다. 큐 이름은 Hadoop 사이트 구성의 mapreduce.job.queuename 속성에 정의되어 있습니다. 용량 스케줄러와 같은 일부 작업 스케줄러는 여러 큐를 지원합니다.

אין תגובות

מצטער, טופס התגובה סגור בשלב זה.