主要内容

このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。

减少关数の作成

mapReduceにおける降低关数关数役割役割

MapReduceは,ブロック受け取ってて中间结果を入力入力入力入力入力入力入力入力关数关数关数と中间中间结果结果结果をををを読み取っ読み取っ読み取っ読み取って最终最终结果をををを生成入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力入力2 2つををつつ关系するに分割分割するののななことことことですです。。。たとえばたとえばたとえば,,,データデータセットセット内内内内のののの最大最大最大値値をを求める求める求めるためににににににでき,,,,关数关数すべての中间大値のからから単一単一の最大最大値を求める求める。

次の図,MapReduceアルゴリズム降低フェーズフェーズをます。。

MapReduceアルゴリズム降低フェーズフェーズはのステップがあり。。。

  1. MapReduce地图フェーズフェーズ结果は,,关数关数关数追加さたののキーと値のペア含む中间中间中间KeyValuestoreオブジェクトです。MapReduceは降低关数关数呼び出す前に中间中间中间KeyValuestoreオブジェクト内値一意キーでグループします。中间KeyValuestoreオブジェクト内なキーに,,,,,关数一度れます。。。

  2. MapReduceは,キーそのキーに关连られる値をすべて含むValueIteratorオブジェクトを作成ます。

  3. 减少关数は关数关数hasnextおよびgetNextを使用し,ValueIteratorオブジェクトから値スクロールし。これは,,尽管ループので使用さ。。

  4. 要约のの,,,,,关数关数关数は关数关数添加およびaddmultiを使用て,,つのキー値のペア最终最终KeyValuestoreオブジェクトに追加ます。

MapReduce减少フェーズ,,,关数が一意なとそれ关连付け付けられられた値ををすべて处理处理したた时にに完了MapReduceアルゴリズムのは,(地图フェーズとに)降低了关数关数さたすべてのキー含む含む含む含む含む含む含む含む含む含むKeyValuestoreオブジェクトです。フェーズフェーズの,,MapReduceはキー値のペアをKeyValuestoreから引き出し,ストア(既定既定ははKeyValueDatastore)にに出力データデータ内のの値値の,并べ替え并べ替えられられたた顺序顺序顺序顺序にになっててていませんんん。。。。关数关数关数关数

减少关数の要件

MapReduceは,中间のKeyValuestore减少了减少关数ごとごと,,,,,,,,,,,ためははこのこの自动自动自动呼出し际际に适切适切にに実行実行できるできるにに特定特定特定の的的要件要件要件要件要件要件要件要件は,MapReduce减少フェーズフェーズデータが适切にすること集合的に保证します。。

减少关数へ入力,,Intermkey间值およびOUTKVSTOREです。

  • Intermkey图映射关数关数追加さた一意一意なキーのののの。。。MapReduceが降低关数关数呼び出すに,のののKeyValuestoreオブジェクトの新しい一意キーが指定れ。。。

  • 间值は,アクティブキーIntermkeyに关连付けたValueIteratorオブジェクトです。このValueIteratorオブジェクトにアクティブキーに关连付けたの値が含まます。关数hasnextgetNextを使用て値スクロールします。

  • OUTKVSTORE减少关数关数キー値のペア追加するのある最终ななKeyValuestoreオブジェクトの名前。关数添加および关数addmultiは,名使用して出力キー値のペアをします。MapReduceOUTKVSTOREから出力キー値のを取り,出力データ(既定はKeyValueDatastoreオブジェクト)に返し。。关数关数关数がOUTKVSTOREにキー値ペアまったく追加した场合は,MapReduceは空データストアを。。

减少关数に要件てててててててされると値ののも,,以下のの条件条件ををを

  1. キーはスカラー文字ベクトル,またはまたはでなけれでなけれなりませ。数値キーを,论理値复素,にすることできません。

  2. 减少关数によってすべての同じ同じでばばがが,そのクラスクラスクラスははははははは关数关数关数追加追加れれキーキーののクラスとと

  3. MapReduceの引数outputType“二进制”(既定)の场合,,,,关数关数で,有效ななな®データ型含むのののオブジェクトオブジェクトをでき。。。

  4. MapReduceの引数outputType“ Tabulartext”の场合,,关数关数数値スカラー,文字,またはまたはまたはををを追加できます。この场合,ににに,复素,,スパース使用できません。

メモ

上记のとのペアの要件,,MapReduceを使用によって场合がますます制品ドキュメンテーションでで,キーとと値のペアに关する关する制品制品固有固有固有の

减少关数の例

以下は,MapReduceの例使用れていくつかの分かりやすいやすいやすいやすいやすいやすい关数关数关数关数です。

単纯降低关数

リデューサーの最もな例ののの1つにMaxarrivalDelayReducerがあり。これは例例mapReduceを使用た最大検索検索検索映射映射关数关数关数关数,,データのチャンク到着到着遅延遅延时间时间时间ををを検索検索します。,,,,,,,,,,,,,关数关数关数ががすべてすべてすべて中间ののタスクをし。値を见つけるに,リデューサーはValueIteratorオブジェクト内を确认,各をの値とと比较します。マッパーはは単一単一の一意ななKeyValuestoreオブジェクトに追加ため,MapReduceはこのを度度呼び出します。。关数关数は出力にキーと値値のののペアペアをををををつつつ追加

功能MaxarrivalDelayReducer(Intermkey,Intermvaliter,Outkvstore)%Intermkey是“ partialmaxarrivalDelay”。跨越人是%所有具有“ partialmaxarrivalDelay”的值。maxval = -inf;尽管hasNext(InterMvaliter)maxVal = max(getNext(intermvaliter),maxval);结尾%添加到OutkvStore的钥匙值对将成为MapReduce的输出添加(OutkvStore,“ maxarrivaldelay”,maxval);结尾

高度降低关数

より高度リデューサーの例ははStatsbyGrouPreducerがあり。これは例例mapReduceを使用てごとの统计をするする映射关数ののの关数关数关数はパラメーターパラメーターパラメーターパラメーターパラメーターパラメーターパラメーターパラメーターのののののなどををををををを使用して各入力のデータデータデータをグループグループ化し,,,データグループごとごとごとにに,统计取得してそれら长い长いに连结ししベクトルをを使用使用しししててカウント平均平均,,分散分散,,倾斜,,尖度のの最终的な统计统计をこれらの构造のとして格纳ためそれぞれ一意ののキーは出力に统计量量のの构造体をを

功能StatsbyGrouPreducer(Intermkey,Intermvaliter,Outkvstore)statisticsByGroupMapreduceExample的降低函数%。%版权2014 The Mathworks,Inc。n = [];m = [];v = [];s = [];k = [];%获得所有中间统计的所有集尽管hasnext(InterMvaliter)value = getNext(InterMvaliter);n = [n;值(1)];m = [m;值(2)];v = [v;值(3)];s = [s;值(4)];k = [k; value(5)];结尾%注意,此方法假定串联的中间值拟合% 在记忆中。请参阅简化函数,协方差的函数替代成对减少方法的COVAIRANCEMAPREDUCEAMPE%结合中间结果count = sum(n);平均值= sum(n。*m)/count;d = m-平均值;方差=(sum(n。*v) + sum(n。*d。^2))/count;skewnessval =(sum(n。*s) + sum(n。*d。kurtosisval =(sum(n。*k) + sum(n。*d。OUTVALUE = struct('数数',数数,'意思是',平均值,'方差',方差,...'偏度',偏斜,'kurtosis',kurtosisval);%将结果添加到输出数据存储添加(OutkvStore,Intermkey,OutValue);

その他降低关数

地图关数降低关数关数一般的プログラミングパターンのの,,,mapReduceでの的な构筑构筑构筑を参照しください。

参考

|||||

关连するトピック