hadoop map/reduce를 사용한 거리 계산 구현이 있습니까? 주어진 점 집합 사이의 거리를 계산하려고합니다.mapoduce에서의 거리 계산
모든 자원을 찾고 있습니다.
편집
이것은 매우 지능적인 솔루션입니다. 나는 첫 번째 알고리즘과 같은 것을 시도해 보았고, 내가 찾던 것을 거의 얻을 수 있었다. 나는 현재 프로그램을 최적화하는 것에 대해 관심이 없지만 dist (X, Y) 함수가 작동하지 않는다는 것이 문제였습니다. 감속기의 모든 점을 얻었을 때, 반복기의 모든 점을 통과하지 못하고 거리를 계산할 수 없었습니다. stackoverflow.com에서 누군가가 hadoop의 Iterator가 정상적인 JAVA Iterator와 다르다는 것을 알았습니다. 그러나 내가 dist() 함수에서 Iterator를 통과하는 간단한 방법을 찾을 수 있다면 최적화를 위해 두 번째 알고리즘을 사용할 수 있습니다. 당신이 정말로 조각으로 나누고 각각 독립적으로 조각을 계산 할 수없는 때문에이 문제에 적합 같은 소리하지 않습니다
//This is your code and I am refering to that code too, just to make my point clear.
map(x,y) {
for i in 1:N #number of points
emit(i, (x,y)) //i did exactly like this
reduce (i, X)
p1 = X[i]
for j in i:N
// here is my problem, I can't get the values from the Iterator.
emit(dist(X[i], X[j]))
"점 사이의 거리"란 무엇을 의미합니까? 최단 경로? –
입력 데이터는 어떻게 생겼습니까? 우리가 추측 할 필요가 없도록 더 많이 작업하는 것을 설명해야합니다. : D – sholsapp
나는 .csv 형식의 쉼표로 구분 된 숫자 12,14,3,4,8,6,7,5를 가지고 있는데, 파일을 읽어 들일 때 (12,14), (3,4) (8, 6) (7, 5). 나는 매퍼 방법으로 그렇게했다. 이것은 임의의 수의 포인트가 될 수 있습니다. 그럼 내 질문은 내가 모든 지점 사이의 거리를 계산할 수 있도록 감속기를 구현하고 싶습니다.위의 샘플 포인트에서 나는 6 개의 거리를 계산할 것입니다. 고마워요, – tkt986