このページ最新ではありませ。をクリックし,英语のの最新版版を参照参照し。
データデバイス数タイプが増えているため,收集データデータののサイズサイズそのものそのものそのものとと收集の速度速度はは急速急速にに拡大拡大ししてていいますますますます。これらビッグデータデータデータデータまたはのでするものあります。このような收集收集によりにより,,本质本质本质をを理解する机会机会がが生まれ生まれますますがが,,多く多くのの课题课题课题课题も提起ます。。。。でビッグを处理するように设计さされてて。。。。。。。。。。。ををををを使用すると,,これらこれらのの课题ののをを解决解决し
mapReduceとは,に收まらないセットセット解析するプログラミング手法ですです。。®mapReduceは知られており,はは,,,(HDFS™)でで机能し,広く使用さささされ®は,关数MapReduce
mapReduceを使っをを异なる実装しています。。
MapReduce
はデータをして,メモリに收まる小さいブロックごとごとを处理处理处理しししますますますます。。ブロックブロックブロックブロックブロックブロックブロックブロックブロックブロックフェーズフェーズフェーズフェーズフェーズフェーズををを経ますますが,,そこそこそこでででは处理ささ减少フェーズフェーズ経中间结果をし最终结果结果生成ささ。。。。。。。。。フェーズととととと地图および关数减少によってエンコードれてます。これらがMapReduce
の主となります。データデータをためののののののとととと关数关数关数关数关数关数关数组み合わせ组み合わせはにあるあるため,,この方法は柔软かつ非常非常にに大大
MapReduce
はいくつので実行ようにできますこれらの机能についてのの,,,MapReduceのををののののの高速展开展开展开を参照しください。
关数MapReduce
の性,规模なコレクションに対してを実行机能にあります。。,,,MapReduce
は,のに直接従来の方法解析ようなななな通常通常通常サイズののには适してんではなく,,にに收まらないないデータセットの统计统计的またはまたはまたは解析解析MapReduce
を使用し。
MapReduce
MAP降低了关数または关数关数呼び出し,,他のののものからしてててていいいますますますますます。。。,,,,,,,,,たとえば关数关数关数关数关数关数关数关数の呼び出し呼び出し呼び出しははは,,,,,,,,关数关数关数关数关数关数关数な计算は,MapReduce
の复数呼び出し分割するが最适です。
MapReduce
では,内のデータ各各かフェーズフェーズを経た后,最终最终出力に到达到达しますますます。。MapReduce
のアルゴリズムフェーズのを示します。
アルゴリズムに次のがあります。
MapReduce
は,[数据,信息] =读(DS)
を使用入力データストアからのブロックを,,にににに关数关数关数关数呼び出し呼び出してそのブロックをますます
地图关数はブロック受け取り,整理前となる计算をしてから关数关数添加
と关数addmulti
を使用てキー値のペアをKeyValuestore
という中间ストレージオブジェクト追加します。MapReduce
が地图关数关数呼び出すは,入力データ内のブロック数同じ。。
地图关数が内のデータブロックをすべてした,,MapReduce
は中间KeyValuestore
オブジェクト内すべてを一意なキーグループ化します。
次にMapReduce
MAP关数关数でされた一意キーごとににににににに关数关数呼び出します。。。各各一意一意ななにはは,多く多く多くののの値値が关连MapReduce
は,をををを关数关数关数ValueIterator
オブジェクトとして。は値に対して反复です。各一意なに対するValueIterator
オブジェクトはそののすべて关连値を含みます。
减少关数は关数关数hasnext
およびgetNext
を使用し,ValueIterator
オブジェクト内値度度ににににつずつつずつつずつ反复ますます。。关数关数关数关数次に,,,,,,关数关数关数关数关数から中间中间を集计集计ししててからから,最后添加
とaddmulti
を使用出力追加します。内のキーはは,,,,,,,,,,,关数关数关数关数KeyValuestore
オブジェクトにをする顺序同じです。つまり,MapReduce
は出力明示に并べ替えるはありません。
メモ
减少关数はのと値ペアののののKeyValuestore
オブジェクトに书き込み。MapReduce
は,からと値ペア出力データストア引き出します。このこのデータストアストアは既定KeyValueDatastore
オブジェクトです。
この例简単な计算(一连一连データの平均距离)ををて,MapReduce
を実行の必要なを解说します。
MapReduce
を使用のは,データセットためデータを作成。。。。。。。。。。。。およびおよびおよびおよびおよびおよびおよびおよび关数关数关数MapReduce
へのとして必须。これにより,MapReduce
はデータブロックで处理できるから。。
MapReduce
はほとんどのデータで机能し。,,,AirlinesMall.CSV
データセットに対してTabulartextdatastore
オブジェクトを作成ます。
ds = tabulartextdatastore('airlinesmall.csv',,,,“治疗”,,,,'na')
ds = tabulartextdatastore带有属性:文件:{'... \ matlab \ toolbox \ matlab \ emos \ airlinesmall.csv'}文件片:{'... \ matlab \ toolbox \ matlab \ matlab \ matlab \ demos \ demos'} fileencoding:'utf-8 88' AlternateFileSystemRoots: {} PreserveVariableNames: false ReadVariableNames: true VariableNames: {'Year', 'Month', 'DayofMonth' ... and 26 more} DatetimeLocale: en_US Text Format Properties: NumHeaderLines: 0 Delimiter: ',' RowDelimiter: '\ r \ n'treatsmissing:'na'缺失值:NAN高级文本格式属性:textScanformats:{'%f','%f','%f','%f'...和26多个} sope textType:'char'offonentscharacters:''eedd'评论标准:''whitespace:'\ b \ t'multipledelimitersasone:控制由预览返回的表返回的表的false属性,read,readall:selected variablenames:{'年','','','','dayofmonth'...和26多26} selectedFormats:{'%f','%f','%f'...和26 more} readsize:20000行outputtype:'table'rowtimes:[]写入特定属性:supportEdOutputputformats:[“ txt” txt“金宝app”CSV“ XLSX”“ XLS”“ PARQUET”“ PARQ”] DefaultOutputformat:“ txt”
これまで说明たオプションの中,,MapReduce
で便利ものいくつかあります关数关数MapReduce
は,データに対して读
を実行,を取得しててて关数关数渡しますしたがって,,选定的variablenames
,选定的formats
,读取尺寸
の各を使用し,,MapReduce
が地图关数关数渡すデータブロックサイズと型直接に设定でき。。
たとえば,距离
(総距离)変数変数の目的としてするするは,选定的variablenames
を指定し。
ds.selectedVariablenames ='距离';
こうすると关数读
,读取
または预习
がDS
を处理する,変数距离
の情报返し。を确认に,ストア内内の最初の数行をプレビュープレビューできできます。これこれMapReduce
が地图关数关数渡すデータ形式を调べられ。。。
预览(DS)
ANS = 8×1桌距离________ 308 296 480 296 373 308 447 954
MapReduce
が地图关数关数データをを“その”表示表示表示には,,读
を使用し。
详细と可能なの完全なについて,,,データストアを参照しください。
关数MapReduce
映射关数关数关数关数关数关数关数关数关数关数をにため,これらのの关数がが适切适切适切に実行れるれるためにににはは特定特定の
地图关数关数のは,,数据
,信息
およびIntermkvstore
です。
数据
および信息
は,データストアに対して关数读
を呼び出し结果。この呼び出し呼び出しは,,关数关数关数呼び出す前毎回毎回毎回MapReduce
が自动に実行し。。
Intermkvstore
图映射关数关数キー値のペアをする必要のある中间中间KeyValuestore
オブジェクトの名前。关数添加
およびaddmulti
は,名使用してとのペア追加。。。。。。。关数关数の呼び出しで,,キーIntermkvstore
にまったく追加れなかった,,MapReduce
は降低关数关数ず,のデータストア空になり。。。
地图关数のなを次に示し。。
功能sundistMapFun(数据,信息,Intermkvstore)距离= data.distance(〜isnan(data.distance));sumlenvalue = [sum(距离)长度(距离)];添加(Intermkvstore,“ sumandlength”,sumlenvalue);结尾
この地图关数关数はは行しかなく,いくつのな役割をますます。最初の行ははデータデータのブロック内の南
値をます。。行目は,距离ブロックカウントでででででで要素要素要素ののベクトルをを作成しし,,,,,,,,,,行目行目行目行目行目はは“ sumandlength”
とともにIntermkvstore
に追加し。このこの关数关数关数关数をDS
内ののすべてに対してした后,Intermkvstore
オブジェクトに距离の各ブロックのとカウントが含まれ。
この关数现在のフォルダーにsundistmapfun.m
として保存し。
减少关数へ入力,,Intermkey
,间值
およびOUTKVSTORE
です。
Intermkey
图映射关数关数追加さアクティブなな。。。MapReduce
が降低关数关数呼び出すに,のののKeyValuestore
オブジェクトの新しい一意キーが指定れ。。。
间值
は,アクティブキーIntermkey
に关连付けたValueIterator
です。このValueIterator
オブジェクトにアクティブキーに关连付けたの値が含まます。关数hasnext
とgetNext
を使用て値スクロールします。
OUTKVSTORE
减少关数关数キー値のペア追加するのある最终的なKeyValuestore
オブジェクトの名前。MapReduce
は,OUTKVSTORE
から出力キー値のを取って出力データ(既定はKeyValueDatastore
オブジェクト)に返し。。关数关数の呼び出し,,OUTKVSTORE
にキー値がまったく追加さなかった场合は,MapReduce
は空データストアを。。
减少关数关数简単なををます。。。
功能Sumlen = [0 0];尽管hasNext(Intermvaliter)sumlen = sumlen + getNext(Intermvaliter);结尾添加(OutkvStore,'意思是',Sumlen(1)/Sumlen(2));结尾
この降低关数关数,,间值
内のを顺ループし,各パスパスの距离ととカウントののの合计合计合计値を保持ししますますループループループループループのののの后后后后后后后后,,,,,,,,,,,,,,,,,,,,,,一のキーをOUTKVSTORE
に追加し。
この关数现在のフォルダーにsydistreduceFun.m
として保存し。
より高度な关数关数およびおよびおよび关数关数の作成详细について,,,,地图关数关数作成および减少关数の作成を参照しください。
MapReduce
の実行データストア,关数关数およびおよびおよび关数关数の准备ができ,,,MapReduce
を呼び出しできますデータセット内平均距离を计算するには,DS
,SundistMapFun
,およびSundistreduceFun
を使用してMapReduce
を呼び出します。
utds = mapReduce(ds,@meandistmapfun,@meandistreducefun);
*********************************************************************************************************************************地图0%减少0%地图16%减少0%地图32%降低0%地图48%减少0%地图65%减少0%地图81%减少0%地图97%减少0%地图100%减少0%地图100%减少100%
既定では关数MapReduce
は进捗コマンドに表示し,フォルダーのファイルをするするKeyValueDatastore
3つの。これらこれらつのつのオプションはすべて,,'导出目录'
,'outputType'
および'展示'
の名称,价值
のペア引数使用て调整でき。详细は,MapReduce
のリファレンスを参照し。。
关数读取
を使用,データストアからキーのペアを読み取り。。
readall(Outds)
ans = 1×2表键值________ ____________ {'mean'} {[702.1630]}
MapReduce
|Tabulartextdatastore