exponenta event banner

ValueIterator

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

Описание

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

Создание

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

Свойства

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

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

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

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

hasnextОпределите, имеет ли ValueIterator одну или несколько ценностей в наличии
getnextПолучение следующего значения из StartIterator

Примеры

свернуть все

Используйте 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