Apache Giraph를 사용하여 분산 클러스터링 알고리즘을 작성 중입니다. compute() 메서드에서 각 이웃 라우터가 보낸 값과 현재 버텍스와 그 메시지를 보낸 이웃 사이의 가장자리의 가중치에 액세스해야합니다. 그러나 Giraph 예제에서 볼 수있는 유일한 메시지 유형은 발신자 정보가 아닌 값만 전달할 수있는 단일 유형 메시지 (DoubleWritable, IntWritable 등)입니다.Apache Giraph SendMessage
발신자 정보 또는 가장자리 정보도?
예를 들어, 위의 코드에서 각 메시지의 값을 얻을 수 있지만 현재 노드에이 값을 보낸 노드를 알 수 없습니다.
public void compute(Iterator<DoubleWritable> msgIterator) {
...
double minDist = isSource() ? 0d : Double.MAX_VALUE;
while (msgIterator.hasNext()) {
// Get who sent this message, how?
minDist = Math.min(minDist, msgIterator.next().get());
}
...
}
감사합니다, 나는 토마스 Jungblut에 동의
더 많은 관심을 끌 수있는 코드 예입니다. –
감사합니다 Andres, 그랬어요. – user2533067
당신의 필요에 따라 독자적으로'Writable' 구현체를 작성할 수 있습니다. Hadoop과 관련이 없다면 Hadoop 태그를 사용하지 마십시오. –