ValueIterator

Итератор по промежуточным значениям для использования с mapreduce

Описание

mapreduce функция автоматически создает ValueIterator объект во время выполнения и использует его, чтобы хранить значения, сопоставленные с каждым уникальным промежуточным ключом, добавленным функцией map. Хотя вам никогда не нужно явно создавать ValueIterator объект для использования mapreduce, вам нужно взаимодействовать с этим объектом в функции reduce. Используйте hasnext и getnext функции объекта для извлечения значений, связанных с каждым уникальным ключом в промежуточном KeyValueStore объект.

Создание

mapreduce функция автоматически создает ValueIterator объекты во время выполнения.

Свойства

расширить все

Это свойство доступно только для чтения.

Промежуточная клавиша, заданная в виде числа или вектора символов. Key является одним из уникальных ключей, добавленных функцией map. Все значения в ValueIterator связаны с этим ключом.

Функции объекта

hasnextОпределите, имеет ли ValueIterator одно или несколько доступных значений
getnextПолучите следующее значение от ValueIterator

Примеры

свернуть все

Используйте hasnext и getnext функции в while цикл внутри функции сокращения для итерационного получения значений из 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

Всегда звоните hasnext перед getnext для подтверждения наличия значения. mapreduce возвращает ошибку, если вы вызываете getnext без остальных значений в ValueIterator.

Введенный в R2014b