主要内容

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

combineByKey

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

使用一组自定义的聚合函数组合每个键的元素

语法

result = combineByKey(obj,createCombiner,mergeValue,mergeCombiners,numPartitions)

说明

result = combineByKey(obj,createCombiner,mergeValue,mergeCombiners,numPartitions) 使用一组自定义聚合函数组合每个键的元素:createCombinermergeValue。输入参量 numPartitions 指定在生成的 RDD 中创建的分区数。

输入参数

全部展开

要合并的输入 RDD,指定为 RDD 对象。

组合函数 (C),给定一个值 (V),指定为函数句柄。

数据类型: function_handle

表示将给定值 (V) 与现有组合器 (C) 合并的函数,指定为函数句柄。

数据类型: function_handle

表示合并两个组合器以返回一个新的组合器的函数,指定为函数句柄。

示例:

数据类型: function_handle

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

示例:

数据类型: double

输出参量

全部展开

包含 RDD 元素的 MATLAB® 元胞数组。

示例

全部展开

%% 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);

%% combineByKey
inputRdd = sc.parallelize({{'a',1}, {'b',1},{'a',1}});
resRdd = inputRdd.combineByKey(@(value) num2str(value), ...
            @(acc,value) strcat(acc, value), ...
            @(rdd1value, rdd2Value) strcat(rdd1Value, rdd2Value));
viewRes = resRdd.collect()

版本历史记录

在 R2016b 中推出