Hadoop을 사용하여 단어 사이의 동시 발생 유사성을 계산하고 있습니다. 그들 사이의 가장자리를Hadoop : Reduce를 Java HashMap으로 출력하는 방법
a b
a c
b c
b d
내가 노드와 공동으로 발생하는 단어로 단어를 취급합니다 그래프 기반의 접근 방식을 사용하고 있습니다 : 내가 좋아 보인다 공동 발생하는 단어 쌍으로 구성 파일이 있습니다. 내 알고리즘은 모든 노드의 차수를 계산해야합니다. 현재
a 2
b 3
c 2
d 1
는 출력 파일로 다시 기록하지만 내가 대신 원하는 것은, 발언권,에 결과를 캡처 할 수 있습니다 : 나는 성공적으로 다음과 같은 출력 총 정도를 계산하는
Map-Reduce
작업을 작성했습니다
java.util.HashMap
. 그런 다음이
HashMap
을 다른
Reduce
작업에 사용하여 최종 유사성을 계산하고 싶습니다.
- 하는 것이 가능 메모리에 작업을 감소의 결과를 (
List
,Map
) 캡처하는 것입니다 : 여기 내 질문입니다. 그렇다면 어떻게? - 이 방법이 최선의 방법입니까? 그렇지 않다면 어떻게 처리해야합니까?
정확하게 이해한다면 첫 번째 작업의 입력과 두 번째 작업을 실행하는 첫 번째 작업의 출력이 모두 필요합니까? 두 경우 모두 단순히 두 개의 작업을 계단식으로 연결할 수 있어야합니다. 해시 맵의 크기는 얼마입니까? (두 번째 작업을 위해 분산 캐시에 넣을 수 있음) – DDW
맞습니다! 두 번째 작업을 실행하려면 첫 번째 작업의 입력과 첫 번째 작업의 출력이 모두 필요합니다. HashMap은 수십만 개의 항목 에까지 확장 될 수 있습니다. – codemaniac