主要内容

键值存储

存储用于mapreduce的键值对

描述

这个地图还原函数自动创建一个键值存储对象,并使用它存储映射和reduce函数添加的键值对键值存储使用对象地图还原,您确实需要使用添加addmulti对象函数与地图中的此对象交互,并使用reduce函数。

创造

这个地图还原函数自动创建键值存储对象在执行期间。

目标函数

添加 将单个键值对添加到KeyValueStore
addmulti 将多个键值对添加到KeyValueStore

例子

全部崩溃

下面的映射函数使用添加函数将键值对一次添加到中间值键值存储对象(命名为中间商店).

作用MeanDistMapFun(数据、信息、存储)距离=数据.距离(~isnan(数据.距离));萨姆伦基=“sumAndLength”;sumLenValue=[和(距离)、长度(距离)];加(中间存储、sumLenKey、sumLenValue);终止

下面的映射函数使用addmulti将多个键值对添加到中间值键值存储对象(命名为中间商店)。请注意,此映射函数在中间键变量和中的多个值间隙变量。这将准备对的单个调用addmulti一次添加所有键值对。使用一次呼叫来访问是一种最佳做法addmulti而不是使用添加在一个循环中。

作用meanArrivalDelayByDayMapper(数据,~,中间存储)%MeanByGroupMapReduceeExample的映射器函数。%版权所有2014 MathWorks,Inc。%数据是一个n乘2的表:第一列是DayOfWeek,第二列是DayOfWeek%是ArrDelay。请先删除缺少的值。延迟=data.ArrDelay;day=data.DayOfWeek;notNaN=~isnan(延迟);day=day(notNaN);延迟=延迟(notNaN);%在此区块中查找唯一的日期[intermKeys,~,idx]=唯一(天,“稳定”);%按idx分组延迟,并对每个组应用@grpstatsfun函数Intervals=accumarray(idx,延迟,大小(intermKeys),@countsum);addmulti(intermKVStore,intermKeys,Intervals);作用out=计数和(x)n=长度(x);%计数s=总和(x);%卑鄙out={[n,s]};
R2014b中引入