시스템의 정지를 얻으려면 hadoop에 작은 테스트 응용 프로그램을 빌드하는 방법에 대해 생각하고 있습니다.감속기에 보내기 전에 값을 정렬하십시오.
내가 염두에두고있는 응용 프로그램은 통계 작업의 영역에 있습니다. 필자는 감속기 기능 (일부 키의 경우 엄청난 수의 값을 가질 수 있음)에서 "각 키에 대한 10 가지 최악의 값"을 원합니다.
내 감속기에 들어가는 값은 기본적으로 "실제 값"과 "실제 값의 품질/관련성"의 조합입니다. 관련성을 토대로 필자는 단순히 "최악의/최악의 10 가지 값을 감속기에서 출력하고 싶습니다.
특정 키에 대해 많은 수의 값이 있다고 가정하면 어떻게해야합니까? 감속기로 보내기 전에 모든 값을 정렬 할 수있는 방법이 있습니까 (아니면 처음 10 개를 읽었을 때 입력 읽기를 중지하십시오)? 아니면 다르게 수행해야합니까?
여기 누군가 나를 볼 수있는 예제 코드 조각을 가르쳐 줄 수 있습니까?
업데이트 : 나는이 흥미로운 락스는 HADOOP-485 및 HADOOP-686 문제 발견했다.
누구나 Hadoop 0.20 API에서이 코드를 사용하는 방법에 대한 코드 조각이 있습니까?
흠, 지금까지의 내가 결합기가 '특정 노드에서 실행되는 부분 감속기'하기위한 것입니다 이해. 그 시점의 값에 대한 총 "품질"을 모르기 때문에 그 순간에 결과를자를 수 없습니다. –
업데이트 : 흥미로운 제안. 이렇게하면 (잘린 부분 집합을 결합 함) 일반적으로 '정확히'수행하는 것과는 다른 출력을 얻게됩니다. 그리고 그것은 내 상황에 충분할 수도 있습니다. 나는 그것을 고려할 것이다. 감사. –
이것이 다른 결과를 가져올 수있는 이유를 설명해 주시겠습니까? 전 세계적으로 상위 10 개 항목이 각 파티션의 상위 10 개 항목에 포함되어 있다고 생각합니다 (상위 3 개, 상위 2 개, 상위 3 개 - 가능하지만 여기에 있음). – SquareCog