복붙노트

[HADOOP] 하둡은 : 무엇을 매핑해야하고 무엇을 줄여야한다?

HADOOP

하둡은 : 무엇을 매핑해야하고 무엇을 줄여야한다?

이 감소 /지도를 사용하여 내 처음이다. 나는 큰 로그 파일을 처리하는 프로그램을 작성합니다. 나는 로그 파일을 처리하는 경우 예를 들어, {학생, 대학, 그리고 GPA}로 구성된 기록을 가지고 대학의 모든 학생들을 정렬 싶었의 '지도'부분이 될 것입니다 무엇을하고 '감소'부분이 될 것입니다 무슨 ? 나는 자습서 및 예제 걸쳐 사라에도 불구, 개념에 약간의 어려움을 겪고 있어요.

감사!

해결법

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

    1.기술적으로는 하둡 맵리 듀스는 키 - 값 쌍으로 모든 것을 처리, 말하기; 당신은 어떤 키가 어떤 값이 정의해야합니다. 및지도의 서명은 감소

    기술적으로는 하둡 맵리 듀스는 키 - 값 쌍으로 모든 것을 처리, 말하기; 당신은 어떤 키가 어떤 값이 정의해야합니다. 및지도의 서명은 감소

    map: (K1 x V1) -> (K2 x V2) list
    reduce: (K2 x V2) list -> (K3 x V3) list
    

    지도와 감소 사이의 중간 셔플 단계에서 K2 값에 일어나는 정렬과 함께.

    당신의 입력 형태의 경우

    Student x (College x GPA)
    

    그런 다음 매퍼는 키에 대학 값을 가져보다 더 아무것도하지 않고해야합니다 :

    map: (s, c, g) -> [(c, s, g)]
    

    새 키 등의 대학으로, 하둡은 당신을 위해 대학을 기준으로 정렬됩니다. 귀하의 감속기는 그냥 평범한 구식 "정체성 감속기"입니다.

    당신이 실제로 정렬 작업을 수행하는 경우, 하이브, 또는 돼지를 체크 아웃 (즉,이 숙제 문제가되지 않습니다). 이러한 시스템은 크게 작업의 이러한 종류를 단순화합니다. 특정 열을 정렬하는 것은 매우 사소한된다. 그러나, 항상 쓰기 교육이다, 말하자면, 여기에서 확인 된 같은 작업을 위해 작업을 스트리밍 하둡, 당신에게 맵퍼 및 감속기의 더 나은 이해를 제공합니다.

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

    2.야후는 상세 설명 및 데이터의 테라 바이트를 분류하고있다. (구글 포함) 기타 정기적으로 그것을 할, 당신은 인터넷에 정렬 벤치 마크를 검색 할 수 있습니다. 야후는 그들이 그것을했던 방법에 대한 논문을 발표했다.

    야후는 상세 설명 및 데이터의 테라 바이트를 분류하고있다. (구글 포함) 기타 정기적으로 그것을 할, 당신은 인터넷에 정렬 벤치 마크를 검색 할 수 있습니다. 야후는 그들이 그것을했던 방법에 대한 논문을 발표했다.

    레이의 접근 방식은 분류 최종 출력을 얻기 위해 약간 수정해야합니다. 입력 데이터가 샘플링되어야하며 맞춤 파티션 특정 감속기의 핵심 범위를 보낼 기록. 이어서 N 감속기의 출력은 연결될 필요가있다. 야후 용지이 더 자세히입니다 설명합니다.

    'org.apache.hadoop.examples.terasort'패키지는 데이터를 정렬하기위한 샘플 코드가 있습니다.

    당신이 맵리 듀스를 처음 사용하는 경우 나는 다음과 같은 비디오를보고 제안한다. 그들은 조금 긴하지만, 가치가있다.

    http://www.youtube.com/watch?v=yjPBkvYh-ss http://www.youtube.com/watch?v=-vD6PUdf3Js http://www.youtube.com/watch?v=5Eib_H_zCEY http://www.youtube.com/watch?v=1ZDybXl212Q http://www.youtube.com/watch?v=BT-piFBP4fE

    편집 : 여기 클라우 데라의 블로그에서 좀 더 많은 정보를 발견. 쉽게 정렬 할 몇 가지 기본 클래스가 있습니다.

  3. from https://stackoverflow.com/questions/7607569/hadoop-what-should-be-mapped-and-what-should-be-reduced by cc-by-sa and MIT license