文档

添加

添加单个键值对到KeyValueStore

语法

添加(KVStore、关键值)

描述

例子

add (KVStore关键价值添加单个键-值对KVStore,这是一个KeyValueStore中创建mapreduce执行。使用添加在为使用而编写的映射或还原函数中mapreduce存储中间的或最终的键值对信息。

例子

全部折叠

使用添加在map和reduce函数中传递数据到中间和最终KeyValueStore.这个简单的示例使用标识映射和reduce函数将输入直接传递到输出。

Inds =数据存储(“airlinesmall.csv”“SelectedVariableNames”“ArrDelay”“TreatAsMissing”“NA”);预览(第1)
ans =8×1表ArrDelay ________ 8 8 21 13 4 59 3 11
outds = mapreduce(inds,@myMapper,@myReducer,mapreducer(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双)
函数关联(数据、信息、intermKV)添加(intermKV,“ArrDelay”, data.ArrDelay);结束函数myReducer(key, intervaliter,outKV) data = getnext(intervaliter);hasnext(intermValIter) data = [data;getnext (intermValIter)];结束添加(outKV、关键数据);结束

输入参数

全部折叠

键值对存储对象,指定为KeyValueStore对象。的mapreduce函数自动创建KeyValueStore对象在执行过程中:

  • 在映射函数中,中间的名称KeyValueStore对象是map函数的第三个输入参数,myMapper(data, info, intermKVStore).使用相同的变量名添加中间键值对添加addmulti在map函数中。

  • 在reduce函数中,final的名称KeyValueStore对象是reduce函数的第三个输入参数,myReducer(intermKey, intervaliter, outKVStore).使用相同的变量名来添加最终的键值对添加addmulti在reduce函数中。

有关更多信息,请参见KeyValueStore

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

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

数字键不能是复杂的、逻辑的或稀疏的。

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

例子:add(outKVStore,'Stats',[mean(X) max(X) min(X) var(X) std(X)])将一个键值对添加到final中KeyValueStore对象(命名outKVStore)在reduce函数中。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符

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

OutputType的观点mapreduce影响reduce函数可以添加的值的类型:

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

  • 如果OutputType“TabularText”属性时,reduce函数添加的值可以是数字标量或字符向量添加函数。此外,还可以使用addmulti函数使用数值向量、字符向量的单元格向量或数值标量的单元格向量添加多个值。在每种情况下,数值都不能为复杂的、逻辑的或稀疏的。

请注意

在使用mapreduce的其他产品时,上述键值对要求可能有所不同。s manbetx 845请参阅相应产品的文档,以获得特定于产品的键-值对需求。

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

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

提示

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

在R2014b中引入

这个话题有用吗?