主要内容

KeyValueStore

为使用mapreduce存储键值对

描述

mapreduce函数会自动创建一个KeyValueStore对象在执行期间和使用它来存储键值对添加的map和reduce函数。尽管你不需要显式地创建一个KeyValueStore对象使用mapreduce,你需要使用添加addmulti对象功能与这个对象的map和reduce函数。

创建

mapreduce函数会自动创建KeyValueStore对象在执行期间。

对象的功能

添加 KeyValueStore添加单一的键-值对
addmulti 添加多个KeyValueStore键-值对

例子

全部折叠

下面的映射函数使用添加键值函数添加一次一个中间KeyValueStore对象(命名intermKVStore)。

函数MeanDistMapFun(数据、信息、intermKVStore)距离= data.Distance (~ isnan (data.Distance));sumLenKey =“sumAndLength”;sumLenValue =[(距离),和长度(距离)];添加(intermKVStore sumLenKey sumLenValue);结束

下面的映射函数使用addmulti添加几个键值对一个中间KeyValueStore对象(命名intermKVStore)。注意,这个map函数收集多个键intermKeys变量和多个值intermVals变量。准备一个调用addmulti添加所有的键-值对。这是一个最佳实践是使用一个单独的调用addmulti而不是使用添加在一个循环中。

函数meanArrivalDelayByDayMapper(数据、~ intermKVStore)% MeanByGroupMapReduceExample映射函数。% 2014年版权MathWorks公司。% n除以2表数据:第一列是DayOfWeek第二%是ArrDelay。删除缺失值。延迟= data.ArrDelay;一天= data.DayOfWeek;notNaN = ~ isnan(延迟);天= (notNaN);延迟=延迟(notNaN);在这一块%找到独特的天[intermKeys ~, idx] =独特(天,“稳定”);%组延迟通过idx和@grpstatsfun函数应用到每个组intermVals = accumarray (idx、延迟、大小(intermKeys) @countsum);addmulti (intermKVStore intermKeys intermVals);函数= countsum (x) n =长度(x);%数s = (x)总和;%的意思= {(n, s)};

版本历史

介绍了R2014b

另请参阅