reduce 함수 내의 while 루프에서 hasnext 함수와 getnext 함수를 사용하여 ValueIterator 객체에서 반복적으로 값을 가져옵니다. 예를 들면 다음과 같습니다.
function MeanDistReduceFun(sumLenKey, sumLenIter, outKVStore)
sumLen = [0 0];
while hasnext(sumLenIter)
sumLen = sumLen + getnext(sumLenIter);
end
add(outKVStore, 'Mean', sumLen(1)/sumLen(2));
end
항상 getnext 전에 hasnext를 호출하여 값을 사용할 수 있는지 확인하십시오. ValueIterator 객체에 남아 있는 값이 없을 때 getnext를 호출하면 mapreduce는 오류를 반환합니다.
중간값 이터레이터로, ValueIterator 객체로 지정됩니다. mapreduce 함수는 실행 중에 자동으로 이 객체를 생성합니다. reduce 함수에 대한 두 번째 입력값은 ValueIterator 객체에 대한 변수 이름을 지정합니다. 이는 hasnext 및 getnext 함수와 함께 사용할 변수 이름입니다.