Main Content

ValueIterator

mapreduce と使用する中間値における反復子

説明

関数 mapreduce は実行中に ValueIterator オブジェクトを自動的に作成し、これを使用して map 関数により追加された一意の各中間キーと関連付けられた値を保存します。mapreduce を使用するために ValueIterator オブジェクトを明示的に作成する必要はありませんが、reduce 関数ではこのオブジェクトを利用する必要があります。中間の KeyValueStore オブジェクトでそれぞれの一意のキーと関連付けられた値を取得するには、オブジェクト関数 hasnext および getnext を使用します。

作成

関数 mapreduce は実行時に ValueIterator オブジェクトを自動的に作成します。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

中間キー。数値スカラーまたは文字ベクトルとして指定します。Key は map 関数によって追加された一意のキーの 1 つです。ValueIterator オブジェクトのすべての値はこのキーと関連付けられます。

オブジェクト関数

hasnextValueIterator に 1 つ以上の使用可能な値があるかどうかを判別
getnextValueIterator からの次の値の取得

すべて折りたたむ

reduce 関数の while ループ内で関数 hasnextgetnext を使用し、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 を呼び出します。ValueIterator 内に値が残っていないときに getnext を呼び出した場合、mapreduce はエラーを返します。

バージョン履歴

R2014b で導入