文档帮助中心文档
向KeyValueStore添加多个键值对
addmulti (KVStore、键值)
例子
addmulti (KVStore,键,值)添加多个键值对KVStore,也就是KeyValueStore中创建mapreduce执行。使用addmulti在map或reduce函数中编写供使用mapreduce存储中间或最终键值对信息。
addmulti (KVStore,键,值)
KVStore
键
值
KeyValueStore
mapreduce
addmulti
全部折叠
使用添加和addmulti在map和reduce函数中传递数据到中间和最终KeyValueStore.本示例使用标识映射和reduce函数,将输入直接传递到输出。在示例的最后列出了map和reduce函数作为局部函数。
添加
第1 = tabularTextDatastore (“airlinesmall.csv”,“SelectedVariableNames”,...{“ArrDelay”,“DepDelay”},“TreatAsMissing”,“NA”);预览(第1)
ans =8×2表ArrDelay DepDelay ________ ________ 8 12 8 1 21 20 13 12 4 -1 59 63 3 -2 11 -1
outds = mapreduce(第1、@myMapper @myReducer, mapreduce (0));
******************************** * MAPREDUCE的进展 * ******************************** 地图地图16%减少0% 32% 0%减少0%减少0%地图48%减少0% 65%减少0%地图地图97%减少0% 100% 81%减少0%减少0%地图100%减少50% 100%减少100%
readall (outds)
ans =2×2表键值 ____________ _________________ {' ArrDelay’}{123523 x1双}{‘DepDelay} {123523 x1双}
本地函数
函数关联数据、信息、intermKV addmulti (intermKV, {“ArrDelay”“DepDelay”},{数据。ArrDelay data.DepDelay});结束函数myReducer(key,intermValIter,outKV) data = getnext(intermValIter); / /验证数据而hasnext(intermValIter) data = [data;getnext (intermValIter)];结束添加(outKV、关键数据);结束
键值对存储对象,指定为KeyValueStore对象。的mapreduce函数自动创建KeyValueStore对象在执行期间:
在映射函数中,中间对象的名称KeyValueStore对象是map函数的第三个输入参数,关联(数据、信息、intermKVStore).使用相同的变量名来添加中间键值对添加或addmulti在map函数中。
关联(数据、信息、intermKVStore)
在reduce函数中,final的名称KeyValueStore对象是reduce函数的第三个输入参数,myReducer (intermKey intermValIter outKVStore).使用相同的变量名来添加最终的键值对添加或addmulti在reduce函数中。
myReducer (intermKey intermValIter outKVStore)
有关更多信息,请参见KeyValueStore.
键,指定为数字标量、数字向量、字符向量、字符串数组、字符向量的单元向量或数字标量的单元向量。如果键是数字向量、单元格向量或字符串数组,则每个条目指定一个不同的键。
map函数添加的所有键必须具有相同的类。reduce函数添加的键也必须具有相同的类,但该类可以与map函数添加的键的类不同。
数字键不能是南、复杂的、逻辑的或稀疏的。
南
例子:addmulti (intermKVStore{'和';“数”;“方差”},{总和(X);元素个数(X);var (X)})向中间体添加三个键值对KeyValueStore对象(命名intermKVStore),使用单元格向量指定键。
addmulti (intermKVStore{'和';“数”;“方差”},{总和(X);元素个数(X);var (X)})
intermKVStore
例子:addmulti(intermKVStore,[1 2 3 4],{sum(X);意味着(X);马克斯(X);分钟(X)})向中间体添加4个键值对KeyValueStore对象,使用数字向量指定键。
addmulti(intermKVStore,[1 2 3 4],{sum(X);意味着(X);马克斯(X);分钟(X)})
例子:addmulti(outKVStore,'Stats',{[mean(X) max(X) min(X) var(X) std(X)]})向final添加单个键值对KeyValueStore对象(命名outKVStore),使用字符向量作为键。
addmulti(outKVStore,'Stats',{[mean(X) max(X) min(X) var(X) std(X)]})
outKVStore
数据类型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串
单
双
int8
int16
int32
int64
uint8
uint16
uint32
uint64
字符
字符串
值,指定为单元格数组。单元格数组中的每个条目指定键值对中的值,因此元素个数(值)必须等于键的数目。单元格数组中的条目可以是任何MATLAB®对象,包括所有有效的MATLAB数据类型。
元素个数(值)
的OutputType的观点mapreduce影响reduce函数可以添加的值的类型:
OutputType
如果OutputType是“二元”(默认值),则reduce函数所增加的值可以是任何MATLAB对象。
“二元”
如果OutputType是“TabularText”,则reduce函数添加的值可以是数字标量、字符向量或字符串标量添加函数。此外,您可以使用addmulti函数用数字向量、字符向量的单元格向量、数字标量的单元格向量或字符串数组添加多个值。在每种情况下,数值不能为南、复杂的、逻辑的或稀疏的。
“TabularText”
请注意
在使用mapreduce的其他产品时,上述键值对需求可能会有所不同。下载188bet金宝搏请参阅有关适当产品的文档,以获得特定于产品的键值对需求。
例子:addmulti (intermKVStore{'和';“数”;“方差”},{总和(X);元素个数(X);var (X)})向中间体添加三个键值对KeyValueStore对象命名intermKVStore.
例子:addmulti(intermKVStore,[1 2 3 4],{sum(X);意味着(X);马克斯(X);分钟(X)})向中间体添加4个键值对KeyValueStore对象使用单元格向量。
例子:addmulti(outKVStore,'Stats',{[mean(X) max(X) min(X) var(X) std(X)]})向final添加单个键值对KeyValueStore对象命名outKVStore.
例子:addmulti (outKVStore{‘距离’‘时间’},{表。距离table.Time})使用表中的变量添加两个键值对以指定值。
addmulti (outKVStore{‘距离’‘时间’},{表。距离table.Time})
避免使用添加在循环中,因为它会产生负面影响mapreduce执行时间。相反,使用单元格数组来收集多个值(如果可能的话,使用向量化操作)并使用单个调用addmulti.
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系