2010-03-01 2 views

답변

0

데이터가 관련된 경우 정보가 전달되는지 확인하는 것이 사용자의 작업입니다. MapReduce는 구현되지 않은 관계에 관계없이 데이터를 분해하고 처리합니다.

지도는 입력 파일에서 블록으로 된 데이터를 읽고지도 기능에 한 번에 하나씩 "기록"합니다. 기본 레코드는 라인입니다 (그러나 수정할 수 있음).

지도의 데이터에 원점을 표시 할 수 있지만 기본적으로지도로 수행 할 수있는 작업은 데이터를 분류하는 것입니다. 새 키와 새 값 및 MapReduce 그룹을 새 키로 내 보냅니다. 따라서 서로 다른 레코드 사이에 관계가있는 경우 : 동일한 레코드 (또는 유사한 * 1) 키를 선택하여 함께 그룹화하십시오.

데이터를 줄이려면 (그룹화가 이루어지는) 데이터가 분할/정렬되고 이후에 reduce-function이 한 그룹의 모든 데이터 (하나의 키와 모든 관련 값)를받습니다. 이제 값을 합산 할 수 있습니다. 그게 전부 야.

MapReduce에서 구현 된 전체 그룹이 있습니다. 다른 모든 것은 귀하의 책임입니다. 두 가지 소스에서 교차 제품을 원하십니까? 예를 들어 인공 키와 다중 방출 (조각 및 복제 조인)을 도입하여 구현하십시오. 당신의 상상력이 한계입니다. 그리고 : 다른 작업을 통해 항상 데이터를 전달할 수 있습니다.

* 1 : 나중에 그룹화 선택에 영향을 줄 수 있기 때문에 비슷합니다. 일반적으로 그룹은 신원 확인 기능이지만, 이것을 변경할 수 있습니다.

관련 문제