主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

foldByKey

类: matlab.compiler.mlspark.RDD
命名空间: matlab.compiler.mlspark

使用关联函数和中性的“零值”合并每个键的值

语法

result = foldByKey(obj,zeroValue,func,numPartitions)

说明

result = foldByKey(obj,zeroValue,func,numPartitions) 使用关联函数 objfunc 表示的中性“零值”合并 zeroValue 中每个键的值。输入参量 numPartitions 指定在生成的 RDD 中创建的分区数。

输入参数

全部展开

输入 RDD,指定为 RDD 对象。

一个中性“零值”,指定为数字元胞数组。

数据类型: cell

用于折叠每个键的值的函数,指定为函数句柄。

数据类型: function_handle

要创建的分区数,指定为标量值。

数据类型: double

输出参量

全部展开

包含聚合结果的流水线 RDD,以 RDD 对象的形式返回。

示例

全部展开

%% Connect to Spark
sparkProp = containers.Map({'spark.executor.cores'}, {'1'});
conf = matlab.compiler.mlspark.SparkConf('AppName','myApp', ...
                        'Master','local[1]','SparkProperties',sparkProp);
sc = matlab.compiler.mlspark.SparkContext(conf);

%% foldByKey
x = sc.parallelize({ {'a',1}, {'b',1}, {'a',1} });
y = x.foldByKey(5, @(x,y)(x+y));
viewRes = y.collect() % {{'a',7},{'b',6}}

版本历史记录

在 R2016b 中推出