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}}
Введенный в R2017b