主要内容

添加

向KeyValueStore添加单个键值对

描述

例子

添加(KVStore关键价值添加单个键值对KVStore,这是一个KeyValueStore中创建Mapreduce.执行。用添加在地图或减少编写的功能中Mapreduce.存储中间或最终的键值对信息。

例子

全部折叠

添加在地图中,减少将数据传递到中间和最终的函数KeyValueStore.这个示例使用了标识映射和reduce函数,这些函数将输入直接传递到输出。map和reduce函数作为局部函数列在示例的最后。

第1 = tabularTextDatastore (“airlinesmall.csv”“SelectedVariableNames”'arrdelay'“TreatAsMissing”'na');预览(第1)
ans =8×1表ArrDelay ________ 8 8 21 13 4 59 3 11
outds = mapreduce(第1、@myMapper @myReducer, mapreduce (0));
******************************** * MAPREDUCE的进展  * ******************************** 地图地图16%减少0% 32% 0%减少0%减少0%地图48%减少0% 65%减少0%地图81%减少0% 97%减少0%地图100%减少0% 100%减少100%
readall (outds)
ans =1×2表键值  ____________ _________________ {' ArrDelay’}{123523 x1双}

本地函数

功能MyMapper(数据,信息,Intermkv)添加(Intermkv,'arrdelay', data.ArrDelay);结束功能myReducer(key,intermValIter,outKV) data = getnext(intermValIter);尽管hasnext(intermValIter) data =[数据;getnext (intermValIter)];结束添加(outKV、关键数据);结束

输入参数

全部折叠

键值对存储对象,指定为KeyValueStore对象。的Mapreduce.函数自动创建KeyValueStore执行期间的对象:

  • 在map函数中,中间的名称KeyValueStore对象是map函数的第三个输入参数,MyMapper(数据,信息,Intermkvstore).使用相同的变量名添加中间键值对添加或者addmulti在map函数中。

  • 在reduce函数中,命名为finalKeyValueStore对象是reduce函数的第三个输入参数,myReducer (intermKey intermValIter outKVStore).使用相同的变量名称添加最终键值对添加或者addmulti在约化函数中。

有关更多信息,请参见KeyValueStore

键,指定为数字标量、字符向量或字符串。

map函数添加的所有键必须具有相同的类。reduce函数添加的键也必须具有相同的类,但该类可以与map函数添加的键的类不同。

数字键不能是,复杂的,合乎逻辑的,稀疏的。

例子:添加(intermKVStore“求和”,Sum (X))将键值对添加到中间KeyValueStore对象(命名intermKVStore)在地图函数中。

例子:添加(outKVStore,'Stats',[mean(X) max(X) min(X) var(X) std(X)])将键值对添加到最终位置KeyValueStore对象(命名outKVStore)在减少功能中。

数据类型:||int8|int16|INT32.|int64|uint8|uint16|uint32|uint64|char|字符串

值,指定为任何MATLAB对象。这包括所有有效的MATLAB数据类型。

OutputType争论Mapreduce.影响reduce函数可以添加的值的类型:

  • 如果OutputType“二元”(默认值),那么减少函数添加的值可以是任何MATLAB对象。

  • 如果OutputType'tabulartext',则reduce函数添加的值可以是数值标量、字符向量或字符串标量添加函数。此外,您可以使用addmulti函数用于添加带有数字向量、字符向量的单元格向量、数字标量的单元格向量或字符串数组的多个值。在每种情况下,数值不能是,复杂的,合乎逻辑的,稀疏的。

请注意

使用MapReduce的其他产品时,上述键值对要求可能会有所不同。s manbetx 845请参阅适当产品的文档以获取特定于产品的键值对要求。

例子:添加(intermKVStore“求和”,Sum (X))指定要与键成对的单个标量值。

例子:添加(outKVStore,'Stats',[mean(X) max(X) min(X) var(X) std(X)])指定一个数字数组作为要与键配对的值。

尖端

  • 避免使用添加在一个循环中,因为它可以产生负面影响Mapreduce.执行时间。相反,使用单元格数组来收集多个值(如果可能的话使用向量化操作),并使用单个调用addmulti

在R2014B中介绍