2013-05-03 4 views
0

파일 모음이 있는데 각 파일에는 작성자 이름과 사용 단어가 들어 있습니다. 이제 각 저자의 상위 N 단어를 계산하기 위해 map-reduce 코드를 작성하려고합니다. 까다로운 부분은 파일에 여러 명의 작가가 포함되어있을 수 있습니다. 내 map-reduce 프레임 워크를 어떻게 설계해야합니까? 의사 코드와 약간의 설명으로 충분합니다. 감사합니다mapreduce 프레임 워크에서 각 저자의 최상위 단어 수를 계산합니다.

답변

0

한 MR 작업은 저자 + 단어 및 값 계산의 복잡한 키를 만들어 각 저자가 사용한 단어를 계산합니다.

두 번째 MR 작업은 이들 쌍 (저자 + 단어, 개수)을 읽고이를 작성자 + 집계, 단어 + 집계로 매핑합니다. 작성자별로 순서대로 키를 순서화하고, 카운트에 상관없이 동일한 감소 그룹에있는 것과 동일한 작성자의 두 키를 처리하기 위해 그룹화 (가장 큰 것부터 가장 작은 것) 및 그룹화를 위해 비교기를 작성하십시오. 저자를위한 모든 쌍이 동일한 파티션으로 이동하려면 분할자가 필요할 것입니다. 감속기는 각 작성자에 대해 한 번 호출되며 값 (단어 + 수)은 가장 큰 계산을 먼저 수행하는 반복 가능 프로그램에 의해 제공됩니다. 감속기에서 Iterable의 첫 번째 N 레코드에서 작성자, 단어 및 개수를 씁니다.

관련 문제