;
그냥이 가로 질러 여기서 가장 좋은 시나리오는 사용자가 많고 사용자가 많지 않고 사용자 당 상호 작용이 제한되어있는 경우입니다.
추상적으로, 사용자의 입력 데이터는 아마도 다음과 같을 것이다 :
File 1:
1, 200, "/resource", "{metadata: [1,2,3]}"
File 2:
2, 200, "/resource", "{metadata: [4,5,6]}"
1, 200, "/resource", "{metadata: [7,8,9]}"
을이 단지 사용자, HTTP 상태, 경로/자원의 로그, 일부 메타 데이터입니다. 가장 좋은 방법은 실제로 데이터를 정리하고, 소비 할 수있는 형식으로 변환하고, 사용자 ID와 키/값 쌍으로 사용자 ID와 기타 모든 항목을 다시 표시하는 것만으로 사용자의 매퍼를 집중시키는 것입니다.
내가 하둡 스트리밍에 매우 익숙하지 해요,하지만 문서에 따르면 : 당신이 그것을 사용할 수 있습니다대로 1
이 반복되는 것을
1\t1, 200, "/resource", "{metadata: [7,8,9]}"
참고 : By default, the prefix of a line up to the first tab character is the key,
그래서이 같이 보일 수 있습니다 출력, 그리고 셔플의 일부가 아닙니다.즉 File 1
및 File 2
를 처리 한 매퍼에서 처리 변화가 더 같은 somethig에 위치를 : 당신이 볼 수 있듯이, 우리가 이미 기본적으로 우리의 사용자 별 그렙 한 적이
1:
1, 200, "/resource", "{metadata: [1,2,3]}"
1, 200, "/resource", "{metadata: [7,8,9]}"
2:
2, 200, "/resource", "{metadata: [4,5,6]}"
! 그것은 일종의 정렬을 포함 할 수있는 최종 변환의 문제입니다 (본질적으로 시계열 데이터이므로). 그래서 이전에 많은 사용자와 제한된 사용자 상호 작용이있는 경우이 방법이 훨씬 효과적이라고 말한 것입니다. 사용자 당 MB 만톤을 정렬 (또는 네트워크를 통해 전송)하는 것은 특히 빠를 수는 없습니다 (대안보다 잠재적으로 더 빠름).
요약하면 크기와 사용 사례에 따라 다르지만 일반적으로 예, 일반적으로 매핑/축소에 적합합니다.