exponenta event banner

aggregateByKey

Класс: matlab.compiler.mlspark.RDD
Пакет: matlab.compiler.mlspark

Агрегировать значения каждого ключа, используя заданные функции комбинирования и нейтральное «нулевое значение»

Синтаксис

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

Описание

result = aggregateByKey(obj,zeroValue,seqFunc,combFunc,numPartitions) агрегирует значения каждого ключа, используя заданные функции комбинирования, указанные seqFunc и combFuncи нейтральное «нулевое значение», указанное 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