主要内容

aggregateByKey

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

使用给定的组合函数和中性“零值”聚合每个键的值

语法

result = aggregateByKey(obj,zeroValue,seqFunc,combFunc,numPartitions)

说明

result = aggregateByKey(obj,zeroValue,seqFunc,combFunc,numPartitions) 使用由 seqFunccombFunc 指定的给定组合函数以及由 zeroValue 指定的中性“零值”聚合每个键的值。输入参量 numPartitions 是可选的。

输入参数

全部展开

输入 RDD,指定为 RDD 对象。

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

数据类型: cell

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

数据类型: function_handle

用于聚合 seqFunc 的结果的函数,指定为函数句柄。

数据类型: 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);

%% aggregateByKey
x = sc.parallelize({'a','b','c','d'},4);
y = x.map(@(x)({x,1}));
z = y.aggregateByKey(10,@(x,y)(x+y),@(x,y)(x+y));
viewRes = z.collect()  % { {'d',11},{'a',11},{'b',11},{'c',11}}

版本历史记录

在 R2016b 中推出