ValueIterator

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

Описание

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

Создание

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

Свойства

развернуть все

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

Промежуточный ключ, заданный в виде числа или вектора символа. Key является одним из уникальных ключей, добавленных функцией карты. Все значения в объекте 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

Была ли эта тема полезной?