Contact Us  
    Today
     
    03 8671 0111

하둡 워드 카운트 예제

Hadoop에서 MapReduce는 대규모 조작 작업을 서버 클러스터 에서 병렬로 실행할 수 있는 개별 작업으로 분해하는 계산입니다. 작업 결과를 함께 결합하여 최종 결과를 계산할 수 있습니다. 이제 Hadoop에 대한 일식 IDE를 사용하여 WordCount 자바 프로젝트를 만들어 보겠습니다. Cloudera VM에서 작업하는 경우에도 Java 프로젝트를 만드는 것은 모든 환경에 적용할 수 있습니다. WordCount의 두 번째 버전은 MapReduce 프레임워크에서 제공하는 일부 기능을 사용하여 이전 버전에서 개선됩니다: 이 기능을 Hadoop으로 직접 이동하려면 터미널을 열고 다음 명령을 입력합니다. 셔플 단계는 맵 단계에서 생성된 키-값 쌍을 입력으로 가져온 다음 알파벳 순으로 정렬하는 것을 통해 자동으로 실행됩니다. WordCount 예제 코드에서 셔플 단계가 실행되면 출력은 다음과 같이 표시됩니다 – Hadoop 프레임 워크가 part-r-xxxx 형식을 사용하여 출력 파일을 만듭니다. 하나의 감속기만 여기에 사용되기 때문에 하나의 출력 파일 part-r-00000이 있습니다. 다음 명령을 사용하여 파일의 내용을 볼 수 있습니다. WordCount.java:17: 오류: TokenizerMapper를 작성하는 동안 오류: WordCount$TokenizerMapper.class (권한 거부) 공용 정적 클래스 TokenizerMapper ^ 참고: WordCount.java 사용 하거나 더 이상 사용 하는 API를 재정의. 참고: -Xlint:deprecation으로 다시 컴파일하여 자세한 내용을 확인합니다. 1 오류 이 문서는 Hadoop MapReduce 프레임워크의 모든 사용자 대면을 포괄적으로 설명하고 자습서 역할을 합니다.

일반적으로 계산 노드와 저장소 노드는 동일합니다. 이 구성을 통해 프레임워크는 데이터가 이미 있는 노드에서 작업을 효과적으로 예약할 수 있으므로 클러스터 전체에서 매우 높은 집계 대역폭을 사용할 수 있습니다. 축소 단계에서는 모든 키가 함께 그룹화되고 유사한 키에 대한 값이 추가되어 특정 단어에 대한 발생을 찾습니다. 맵 단계에서 생성된 키에 대한 집계 단계와 같습니다. 감속기 단계는 셔플 위상의 출력을 입력으로 취한 다음 키가 값 쌍을 값이 추가된 고유 키로 줄입니다. 이 예에서 “코끼리는 동물입니다.”라는 단어는 문장에 두 번 나타나는 유일한 단어입니다. MapReduce WordCount 예제 프로그램의 축소 단계를 실행한 후 아래와 같이 한 번만 키로 나타나지만 아래와 같이 2개로 표시됩니다 . 또한 일반적으로 Java 프로그램에 두 개의 명령줄 인수를 보냅니다: 입력 데이터 파일 또는 디렉터리, 감소 작업의 결과에 대 한 ouput 디렉토리. ant라는 도구를 사용하면 위의 코드에서 jar 파일을 빠르게 만들 수 있습니다. 이제 여러분들은 MapReduce 프레임워크에 대한 기본적인 이해를 가지고 있습니다. MapReduce 프레임워크가 HDFS에 존재하는 거대한 데이터를 처리하기 위해 코드를 작성하는 데 어떻게 필요한지 깨달았을 것입니다.

하도프 1.x와 비교하여 하도프 2.x의 MapReduce 프레임워크에 큰 변화가 있었습니다. 이러한 변경 내용은 이 MapReduce 자습서 시리즈의 다음 블로그에서 설명합니다. 나는 바로 블로그에서 MapReduce 프로그램의 각 부분을 설명하는 다운로드 가능한 포괄적 인 가이드를 공유 할 것입니다. 따라서 특히 분산 캐시 관련 기능에 대해 HDFS를 가동하고 실행해야 합니다. 따라서 의사 분산 또는 완전히 분산된 Hadoop 설치에서만 작동합니다. 작성한 코드를 실행하는 방법에는 두 가지가 있으며, 먼저 테스트 목적으로 Eclipse IDE 내에서 코드를 실행하는 것이고 두 번째는 Hadoop 클러스터에서 실행하는 것입니다. 이 섹션에서는 두 가지 방법을 모두 살펴보겠습니다.

Accredited with:

excellence and integrity

JHL Civil Pty Ltd ABN 79144 907 514, 10A Phillip Court, Port Melbourne, Victoria (VIC), 3207 Australia
© Copyright JHL Civil 2013